Top 10k strings from Utility Compilation 06 (19xx)(-).trd in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Compilations - Utilities & Educational & Various / Sinclair ZX Spectrum - Compilations - Utilities & Educational - [TRD] (TOSEC-v2007-01-01) /

Back to the directory listing

  75 /*______________________*/
  56 File exists
  28 Retry,Abort,Ignore?
  28 Over write?(Y/N
  28 Not disk file
  28 No File(s)
  28  Del. File
  27 then press Y
  27 Verify Error.
  27 Stream opened
  27 Out of RAM
  27 Insert Source disk then press Y
  27 Insert Destination disk
  27 Directory full
  27 BACKUP DISK
  27 Array not found
  19     putchar(81 ^ *ptr++);
  18 for (i=0;i<14;i++)
  18 ;" you are sure ";y$:
  18 "1";"    ":
  14 ;"Routine in ROM";
  11 =s#r#6D#####6$#6
  11 ;" drive B "    
  11 ;" drive A ";
  11      break;
  10 *                     *
   8 {static int c;
   8 bright(1);at(x+1,y-3);
   8 bright(0);at(x+1,y-5);
   8 bright(0);at(x+1,y-1);
   8 ;" program ";s$:
   8  _square2(8*x,8*(21-y),127,55);
   8   printf("                ");
   7 _beep(DE,HL)
   7  { at(x,i);
   7   char _non6 [3];
   7    _ptr-> _typ,
   7             
   6 struct _onefile *o_ptr;
   6 struct _onefile *_ptr;
   6 static char *cs;
   6 THIS ROUTINE IS NON-RELOCATABLE
   6 FFFFFFFFFFFFFFFFFF
   6 ;"END OF RECORD":
   6 ;" file ";s$:
   6 ;"             "
   6 "23658",O:
   6  putchar(_ptr->_name[i]);
   6  print_bri(cur,1);
   6   int  _non5;
   6   for(i=0;i<8;i++)
   6   bright(on); over(1);
   6   bright(0); over(0);
   6      SPACE
   5 {printf("\025%c",on?0:1);}
   5 { inline(0xCD,0xD6B); }
   5 struct _cat {
   5 _setover(on)
   5 ______________________
   5 ;" target : ";
   5 /*______*/
   5  inline(0xdd,0xe5,
   5   struct _onefile _file[128];
   5   int _non2;
   5   int _non1;
   5   int  free_sec;
   5   int  _non4;
   5   char fil_num;
   5   char _title [8];
   5   char _spaces[9];
   5   char _non3;
   5   char _non [224];
   5   at(1,y);
   4 ~wpjd^YTOKGC?;852/,*'%#!
   4 {static char *result;
   4 {static HEADER *p,*q;
   4 { static de,hl;
   4 { char _name[8];
   4 {   fprintf(2,
   4 while ( (c-b<BUFSIZE)
   4 to be replaced.     
   4 t$(ent)="B"
   4 sum+= (i * cc[i]);
   4 struct _onefile
   4 struct _cat *_ptr;
   4 secpr(x,y)
   4 secpr(8,12);
   4 secpr(7,11);
   4 secpr(6,10);
   4 return result;}
   4 return ((c==EOF && cs==s) ? NULL:s);}
   4 printf("press any key");
   4 printf("HISOFT-C Compiler  V1.1");
   4 printf("Disk version -Kapitansoft");
   4 o$=t$(g(j))
   4 int i,sum;
   4 ink(5);at(3,15);
   4 ink(4);at(18,20);
   4 if ((*cs++ = c)=='\n') break;
   4 for(y= TOP ;y< BOT ;
   4 for(i=y;i>y-7;i--)
   4 for(i=0;i<43;i++)
   4 e$=n$(g(j)):
   4 copyright()
   4 char cc[45],*ptr;
   4 bright(1);
   4 b$="a:"+t$:
   4 \##N#F#"]\"
   4 [}\r#s#N#F#
   4 ZX SPECTRUM MACHINE CODE TOOLKIT
   4 WL        
   4 UP-SCROLL",T
   4 This is Line #";Z
   4 Start address:
   4 SUPERCODE TOOLKIT
   4 SPRITES   
   4 S U P E R C O D E
   4 Routine Starts at ";A
   4 R"E\*S\###"
   4 Press ENTER to Expand the Whole Program 
   4 PROGRAM",D
   4 No. STATEMENTS :
   4 No. OF EXTRA BYTES::}\_:~\W:
   4 No. LINES      :
   4 No. Bytes:
   4 Length of Program Only:!
   4 LINE NO:NOW RENUMBER PROGRAM
   4 Freddy A Vachha   Vic B Rumsey
   4 First Byte:
   4 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM
   4 FFFFFFFFFFFF
   4 ERROR CODE: ";N$:
   4 ENLARGE REM
   4 EEEEEEEEEE
   4 DOWN-SCROLL",T
   4 CODE      
   4 BLOCK COPY
   4 BCCCCCCCCCCCCCCCCCCF
   4 Auto-start Line No:
   4 Array Name:
   4 A,B,C$,DUR:
   4 ;"YOU PREFER BEEP (press b)"
   4 ;"DO YOU WANT TO HEAR MORE      ORGANLIKE TUNES (press o) OR";
   4 ;"  new name ";n$:
   4 ;"              "
   4 23635+256*
   4 15,"12345678",W
   4 0000000000000000,
   4 0000000000000000
   4 /*__________________*/
   4 /*___SUM__CONTROL___*/
   4 /************************/
   4 /*****************************/
   4 +-*]\"[\*Q\
   4 ++F+N+++"]\*S\~
   4 ++F+N+++"]\
   4 *cstr=',';
   4 *]\###q#p##"]\
   4 *S\##"]\^#V
   4 *BV))-(AT+256
   4 ***********************
   4 *"m";E;"SUPERCODE3"
   4 #define CALL 0xcd,
   4 #T]##N#F#~
   4 "ROM","0","
   4 "23791",F:
   4 "23659",F:
   4 "23659",D:
   4 "16"-G*(N<P);",";
   4 "12345678"#
   4 "12345678"
   4 "#";N;": ";
   4 " This routine
   4 "  If you choose 
   4  _square2(16,32,224,32);
   4  ROUTINE # 65 HAS PREVENTED YOU  FROM BREAKING INTO THIS PROGRAM
   4   move(cc,"\30q0<q\42>##(\177\177\177\177",14);
   4   int _start;
   4   int _len;
   4   for(i=0;i<14;i++)
   4   for (i=0;i<14;i++)
   4   char _typ;
   4   char _track; };
   4   char _sector;
   4   char _blen;
   4   at(1,y+ TOP );
   4    if (isprint(*c))
   4    _ptr-> _track,
   4    _ptr-> _start,
   4    _ptr-> _sector);
   4    _ptr-> _len,
   4    _ptr-> _blen,
   4    _fun(mode);
   4     {putc('.',2);c++;}
   4     else     return(0);
   4      putchar(81 ^ *ptr++);
   4      putc(*c++,2);
   4      && (c-b<end) )
   3 {while (putchar(*s++));}
   3 {static int c,value,sign;
   3 {static de,hl;
   3 {return n<0 ? -n:n;}
   3 {return n ?
   3 {return isprint(c) & ! isalnum(c);}
   3 {return isalpha(c) | isdigit(c) ;}
   3 {return c>=' ' & c<'\177';}
   3 {return c<' ' | c=='\177';}
   3 {return c < 0x80;}
   3 {return * cast(__char_ptr) address;}
   3 {inline(0xe1,0xe1,0xe1,
   3 {inline(0xcd,25236);
   3 {* cast(__char_ptr) address=value;}
   3 y$+e$,v$+e$
   3 while (isspace(*s)) ++s;
   3 while (isdigit(c=*s++)) value=10*value+c-'0';
   3 while (--n>0 && (c=getc(fp)) !=EOF)
   3 void puts(s)
   3 void print_cat(begin,_ptr)
   3 void fputs(s,fp)
   3 typedef char * __char_ptr;
   3 s1,1;"->";
   3 paper(0);ink(5);bright(1);
   3 int sign(n)
   3 int peek(address)
   3 int ispunct(c)
   3 int isprint(c)
   3 int iscntrl(c)
   3 int isascii(c)
   3 int isalnum(c)
   3 int begin;
   3 int abs(n)
   3 ink;t$(ent);
   3 if (p+p->_size==q->_ptr)
   3 if (c-b<end) return(-1);
   3 if (*s=='-'){++s;sign=-1;}
   3 f$(j)="  ":
   3 ent=(beg+s1):
   3 else if (*s=='+') ++s;
   3 cls(); setscr(7,0,0,0);
   3 char *gets(s)
   3 char *fgets(s,n,fp)
   3 border(0);
   3 beg>(kol-20
   3 beg=kol-20
   3 beg=beg-20
   3 beg=beg+20
   3 _square2(0,0,255,175);
   3 _exit(n);}
   3 ROUTINE NO:
   3 GGGGGGGGGGGGGGGGGGGG
   3 ;n$(g(j));" copied":
   3 ;kol;" Files ";
   3 ;"sh+A to STOP"
   3 ;"s.sh+R>read cat"
   3 ;"in drive ";w$
   3 ;"GIVE A NAME TO YOUR RECORD!";
   3 ;" use s.sh+R "
   3 ;" no disc in ";w$
   3 ;" data ";s$:
   3 ;" Please wait"
   3 ;" Insert disc and press any key"
   3 ;" Insert SYSTEM disc in drive A";
   3 ;" Aleks Torres "
   3 ;" # ";s$:
   3 ;" ";n$(ent);" ";
   3 ;" ";k$(ent):
   3 ;"  disc error  "
   3 ;"            "
   3 ;"              ":
   3 0x2b,0xc3,0x55,0);}
   3 /*****  COPYRIGHT  ******/
   3 ,"    and press any key  ":
   3 (n<0 ? -1:1):0;}
   3 ((c==-1 && cs==s) ?
   3 #include reload
   3 #include init
   3 #include fun
   3 #include copyrt
   3 #include ?dump.l?
   3 #include ?dos.l?
   3 #define void int
   3 #define TRUE 1
   3 #define NULL 0
   3 #define FALSE 0
   3 #define EOF -1
   3 "b:*","a:*"
   3 "7");".";n$(b+
   3 !=EOF && c!='\n')
   3  ~MERCURY~1990"
   3  saves a screen,
   3  recalls it. 
   3  printf(" %c%4u",
   3  printf(" %c%3u%6u%6u%3u%2x",
   3  prbri1(cur1,1);
   3  prbri1(cur1,0);
   3  prbri0(cur0,1);
   3  prbri(cur,1);
   3  getcat(cat_ptr);
   3  Rewim TEKST     BLOKIROVKA VKL 
   3  OVERPRINT
   3   inline(0xdd,0x6e,10,
   3   at(x+1,y-3);
   3    _ptr-> _blen);
   3         0xed,0x5]
   3          CALL PG_DOS )
   3          0xdd,0x66,11,
   3          0xdd,0x5e,8,
   3          0xdd,0x56,6,
   3          0xdd,0x46,4
   3             (b_ptr,fend);
   3            
   3           
   2 {while (*s==*t)
   2 {static unsigned length;
   2 {static unsigned gap,byte_gap,i;
   2 {static char p,
   2 {static char *cstr;
   2 {return _colour(16,i);}
   2 {q->_size+=p->_size;
   2 {p->_size+=q->
   2 {if (p->_size==nbytes) q->_ptr=p->_ptr;
   2 {if ((p=cast(HEADER_PTR) sbrk(nbytes*sizeof(HEADER)))==ERROR)
   2 {if (! *s) return 0;
   2 {byte_gap=gap*size;
   2 {_base._ptr=_allocp=q=&_base;
   2 { struct _header * _ptr;
   2 { return _colour(17,i); }
   2 { return _colour(16,i); }
   2 z+"]"+" ":
   2 x$;" ";z$;h$;"-";a$
   2 write a sector
   2 while (key!='f
   2 while (c=*s++) putc(c,fp); }
   2 while (TRUE)
   2 while (*s++) ++length;
   2 while (*dest++ = *source++);
   2 while (*base++ = *add++);
   2 while (*base) ++base;
   2 while ((c=getchar())
   2 void qsort(list,num_items,size,cmp_func)
   2 void putblock(adr,sector,track,nsec)
   2 void print_file(y,_ptr)
   2 void prfile0(y,_ptr)
   2 void prbri1(y,on)
   2 void prbri0(y,on)
   2 void poke(address,value)
   2 void getblock(adr,sector,track,nsec)
   2 void free(block)
   2 variables"'" (3) Numeric Arrays"'" (4) 
   2 uv 16K    
   2 unsigned strlen(s)
   2 unsigned n;
   2 unsigned n,size;
   2 typedef struct _header  HEADER, * HEADER_PTR;
   2 typedef int FILE;
   2 to the  bottom area of 
   2 to be located":
   2 to a new address.To   correct,run this routine before loading.It resets System vars   to pre-paging values,& ensures  programs from cassette 
   2 to  23755 and not 23813."
   2 this rout- ine within(using
   2 the following:-"'"
   2 the 2-  byte equivalent(see #101)of the address of the 
   2 that is to  be transformed,into ";:
   2 swap(p,p+byte_gap,size);}}}
   2 such lines."
   2 struct _header
   2 static unsigned nbytes;
   2 static struct _cat disk_a;
   2 static char *p;
   2 statements won't work if    
   2 statement at
   2 start in mem."
   2 start address
   2 sets  like  the SCIFI in #79).
   2 selc=sela:
   2 scrolls when re 
   2 s. Also see #82,#90,#100,#103&#104"
   2 s,by combining 
   2 s which are stored in RAM(ie,UDGs or alternative 
   2 s when logically possible.Also see #64 #90,#100,#103&#104."
   2 s the no: of 
   2 s the length of the BASIC program.   Memory  used by variables is ignored.   Also see #103,#111.";
   2 s the address of the first 
   2 s RAMTOP to its  original value, zeroes the      entire memory & resets System   Variables,UDGs & stack."
   2 s & statements in a prog.  Restart SUPERCODE with
   2 routine,&  let x=no: after LD,de.Use #115  with a higher start address & x =no: of bytes.The file should   
   2 return sign*value;}
   2 return p;}
   2 return length;}
   2 return fopen(name,mode);}
   2 return cast(__char_ptr) (p+1);}
   2 return NULL;
   2 return *s-*t;}
   2 result=dest;
   2 result=base;
   2 read code fle
   2 read a sector
   2 quotes  to save space.Also see #64,#82  & #100."
   2 q->_ptr=p->_ptr;}
   2 q$="[.] ":
   2 prog autostart,  enter 1
   2 print content
   2 print buffer
   2 print buff
   2 print 4 points
   2 prcurb=prcurb-
   2 prcurb=prcurb+
   2 prcurb=filnb-prbegb+
   2 prcurb+prbegb-
   2 prcur=prcur-
   2 prcur=prcur+
   2 prcur=filn-prbeg+
   2 prcur+prbeg-
   2 plot(on,x,y)
   2 part2 of your program with the header of another prog, by  manipulating Record/Pause keys  on taperec.Call this routine in part1,& immediately after,call  routine115.Part2 will now auto-
   2 p=q->_ptr;
   2 p=p->_ptr;}}
   2 p=heap_ptr;
   2 p=cast(HEADER_PTR) (block-1);
   2 p=_allocp;}
   2 p->_size=nbytes;}
   2 p->_size=nbytes;
   2 p->_ptr =q->_ptr->_ptr;}
   2 p,q if bytes)  Use the same
   2 p+=p->_size;
   2 out these    Instructions.
   2 only.    Incidentally,to
   2 on lines 22 & 23."
   2 on all 24 lines of the 
   2 of the same 
   2 of BASIC containing a prespecified sequence of 
   2 of  a given 
   2 no: whose 2-byte equivalent was
   2 need an lvalue
   2 nbytes=(n*size+(sizeof(HEADER)-1))/sizeof(HEADER)+1;
   2 n  to prevent the scroll? prompt   corrupting the 
   2 mode=0;key=0;
   2 load code file
   2 line(on,dx,dy)
   2 line input
   2 j$="b:"+t$:
   2 it to a different address, >23900 so it does not overlap   with the System variables."'" (c)To 
   2 it back with
   2 is to be execu- ted.Enter 
   2 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg
   2 is  possible:use
   2 int strcmp(s,t)
   2 int num_items,size;
   2 int key,mode;
   2 int drive,on;
   2 int atoi(s)
   2 int adr,sector,track,nsec;
   2 int adr,secto
   2 int (*cmp_func)();
   2 instruction. At the  end,
   2 inline(0xdd,
   2 ing the two parts."
   2 in non-deletab-le lines:the listing vanishes   5)Autostart by using
   2 in  a BASIC program by another 
   2 if (sum==63829) return(0);
   2 if (q>=q->_ptr && (p>q || p<q->_ptr)) break;
   2 if (q+q->_size==p)
   2 if (p==_allocp)
   2 if (heap_ptr+n>heap+HEAPSIZE) return ERROR;
   2 if (*mode=="w") return fopen(name,mode);
   2 if ((q=_allocp)==NULL)
   2 heap_ptr=heap;
   2 heap_ptr+=n;
   2 heap[HEAPSIZE],
   2 h$=hex$(h)
   2 h$="    ":
   2 get sector/track no
   2 g(num)=ent: 
   2 function()
   2 from Part1,but anyone who  attempts to
   2 free(p+1);
   2 for another 
   2 for (q=_allocp; !(p>q && p<q->_ptr);q=q->_ptr)
   2 for (i=gap;i<num_items;++i)
   2 for (gap=num_items >> 1; gap>0;gap >>=1)
   2 filnc=filnb:
   2 filnc=filn:
   2 fcur1,fcur*
   2 extern unsigned strlen();
   2 extern char *strcat(),*strcpy(),*calloc(),*fgets(),*gets(),*sbrk();
   2 extern FILE *dopen();
   2 existing line no:,the  next valid line no: is used.Cal -culated GOTOs etc are highlit.":
   2 etc. Then    
   2 else q->_ptr=p;
   2 else p->_ptr=q->_ptr;
   2 ed/reset Spectrum. (5)Press 
   2 ed,use routine119 before  each
   2 ed,the BASIC will  autorun,& will start the 
   2 ed into a Spectrum with    shadow ROM paged in,as the prog will
   2 ed came from tape/Mdrve,   
   2 each     part immediately before saving  the next one:this ensures that  there will be no delay between  
   2 drive=picb
   2 draw border
   2 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples  of  256 away from the original  add-resses.Proceed as follows: Get  the page of the routine,& press Q to quit.The original address  is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer.";
   2 d into 62866 & 62867 respectively. The 4 columns are addr,contents in  dec+hex & 
   2 d into 57125/26 ) :if not you will return to the  next statement.
   2 d in 60952(lo)  & 60953(hi):initially 9495."
   2 d in 60878(lo) & 60879(hi):initially 9495.For the error 
   2 cur=0; prbeg=0;
   2 cstr=NULL;
   2 cstr+=strlen(strcpy(cstr,name));
   2 cstr+=0x6cd9;
   2 creat true address
   2 convert a$(x) to binary
   2 co-ordinates of the";'" top left hand corner of the box
   2 co- ordinates of the top-left hand  corner of the box."
   2 char *strcpy(dest,source)
   2 char *strcat(base,add)
   2 char *sbrk(n)
   2 char *s,*t;
   2 char *name,*mode;
   2 char *list;
   2 char *dest,*source;
   2 char *calloc(n,size)
   2 char *c;int i;
   2 char *c; int i;
   2 char *block;
   2 char *base,*add;
   2 char *b;int end,nsec;
   2 case RIG :curdown(10,CAT);
   2 but   will jump to the 
   2 buff=60300
   2 bufer address 60300
   2 beep(duration,pitch)
   2 at any  position on the screen: ie, to  find the CODE of the character  printed 
   2 at any  position on the screen: ie, to  find the 
   2 at ANY    position X,Y on the 
   2 as=t+64590
   2 as   well as resets 
   2 are set  up as UDGs. To return to usual  UDGs,
   2 alter memory
   2 af=t+64782
   2 address   from which 
   2 ad=t+64686
   2 able). Use N to exit.
   2 a$="Enter start position":
   2 a$="  [.] to end"+
   2 a$;" not found"
   2 a higher RAMTOP first."
   2 a headerless file,   disassemble its
   2 a RAMTOP belowZ &
   2 _fun(mode);
   2 _base._size=0;}
   2 _allocp=q;}
   2 _allocp=q;
   2 __________]
   2 ________"'
   2 \32\70\64\47\161\143\150\142\174\151\150\174\141\147",43);
   2 ZX INTERFACE1 MUST BE ATTACHED
   2 Z=A+G-F*(N=
   2 Z;" /"'" ";Z+1
   2 Z2=235    
   2 Z2=231Enter:-  9990
   2 Z2=229    
   2 Z if from Microdrive).If anaddress >23800 is to be
   2 Y!Y&Y*Y/Y3Y8Y<YDXHXQXVXZX
   2 X-3,0 The program will work provided  you do not
   2 X+1,0. To do   this to other lines, first find their address X using routine   88, then
   2 UMP PAGE#/ 
   2 UIT AND EXAMINE LINE 1210
   2 Transfer OK"'"
   2 TUTOR     3
   2 TOP/MID RIGHT-SCR",S
   2 TOP/MID LEFT-SCR",S
   2 TOP RIGHT-SCROLL",S
   2 TOP LEFT-SCROLL",S
   2 TO SEE HOW THIS WAS DONE, EXIT &   EXAMINE LINES 9278 TO 9286   
   2 TO SEE  HOW THIS WAS DONE,";
   2 THERE HAS BEEN A RECORDING ERROR
   2 Stream Open Before
   2 Space (1-255)"
   2 SUPERSOFT  SYSTEMS
   2 SP        7
   2 SIMULATOR",I
   2 SIMULATOR",G
   2 S with Interval I 
   2 Routine Length is ";B;" bytes
   2 Routine Ends at   ";A+B-E;
   2 Routine Ends at   ";A+B-1
   2 Recording OK
   2 ROUTINE IN ROM
   2 ROUTINE #";N;"
   2 ROUTINE  ";C$'" IS NOW CALLED
   2 RIGHT-SCROLL",S
   2 RIGHT-SCROLL",33
   2 REPLACE",D
   2 RENUMBER",D
   2 RELOCATION OF SUPERCODE ROUTINES
   2 REFLECT Y-AXIS",E
   2 REFLECT X-AXIS",E
   2 RANDOMIZE USR ";A
   2 Q@Q@Q@QDVDVDVDV
   2 Q,E;"This routine converts hex no:s  to their decimal equivalents.   It clears the screen & prompts  'H:' - now ENTER the hex no:.   Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit, &   
   2 Q,E;"This routine
   2 Q,E;"Call this routine at the start  of your program, say by having  as
   2 Q,D;" The Spectrum doesn't check if   there is enough space free in   its memory before
   2 Part2 by other means will crash the computer." 
   2 PRINTING",E
   2 PRINT;: RANDOMISE USR 60222
   2 POKE NUMBERS 
   2 P,D;" To break into autostart progs,  (a)Instead of
   2 P,D;" (a)To check whether a ZX Inter-  face1 is connected,see whether  or not an error is produced if  an instruction like 
   2 OVERPRINT",E
   2 ON /OFF checkerboard on the 
   2 O,E;"In order to make the FIRST line of your program non- deletable  
   2 NON-RELOCATABLE ... use L
   2 NO: ROUTINE 
   2 NO MORE OCCURRENCES
   2 NNNNNNNNNN
   2 N$,C$,C$,DUR:
   2 MID/LOW RIGHT-SCR",S
   2 MID/LOW LEFT-SCR",S
   2 MID RIGHT-SCROLL",S
   2 MID LEFT-SCROLL",S
   2 MICRODRIVE VERSION by F Vachha
   2 LOW RIGHT-SCROLL",S
   2 LOW LEFT-SCROLL",S
   2 LEFT-SCROLL",S
   2 LEFT-SCROLL",33
   2 KILL CONDENSER",D
   2 J;"----> ";
   2 INSTRUCTIONS  ON THE TRANSFER OF SUPERCODE TO THE ZX-MICRODRIVE 
   2 INDEX PAGE ";(C-E)/
   2 I;"Less Sig  More Sig":
   2 HEADER _base, *_allocp;
   2 H,D;" The ZX Microdrive spends most   of its time trying to locate a  file - actual loading is swift. 2 ways of saving files so that  they can be accessed faster are (a)
   2 GGGGGGGGGGGGGGGGGGGGGGGG
   2 GGGGGGGGGGGGGGGGGGGGGG
   2 GGGGCCCCCCCCCCCCCCCCCCCGGGGG
   2 GGGGBCCCCCCCCCCCCCCCCCCGGGGG
   2 GCCCCCCCCCCCCCCCCCCG
   2 G,D;"1)Make line1 1
   2 Freddy A Vachha  &  Vic B Rumsey
   2 FILE *dopen(name,mode)
   2 FFFFFFFFFFFFFFF
   2 FFFFFFFFFFF
   2 F.VACHHA BSc
   2 Enter Routine No: 
   2 Enter Index Page No: 
   2 EXCHANGE",E
   2 EFFECTS",I
   2 EEEEEEEEEEEEEEEE
   2 EEEEEEEEEEE
   2 D,D;A$;A$;A$;A$:
   2 Copying copies is FORBIDDEN
   2 CCCCCCCCCCCCCCCCCCG
   2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
   2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
   2 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70.";
   2 ANY OTHER KEY
   2 ADDRESS",D
   2 A$;A$;A$;A$:
   2 @)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   2 >>cc``oocc>>
   2 >1 copies of the file   on the same cartridge:for x     copies,do
   2 >-SELECT PROGRAM"
   2 ;i;".";a$(i)
   2 ;C$;" CODE ";A;",";B:
   2 ;"while 1 is the third of that!"
   2 ;"s.sh+U>unselect"
   2 ;"r: return to menu"
   2 ;"press the chosen key"
   2 ;"press e if you want to set the    last byte of the recording    area to the end of your record!"
   2 ;"press any key to return to menu"
   2 ;"from 1 to 9(5 is the normal)"
   2 ;"cursor> UP-DOWN"
   2 ;"c: change this note";
   2 ;"YOUR RECORD IS BETWEEN";
   2 ;"YOU PRESSED BREAK":
   2 ;"USE 'e' to select from the notes";
   2 ;"To say the 2 byte equivalent of X is L(Less)/M(More) sig: bytes means that 256 * M + L = X .    This routine permits instant    conversion of a number from 0 - 65535 to its 2-byte equivalent. To convert X into its 2-byte    equivalent, enter RANDOMISE X.  
   2 ;"To save this routine, use";
   2 ;"To renumber lines starting with S using an interval I, first    POKE 59580,I: POKE 59582,S-256* INT(S/256):POKE59583,INT(S/256) All GOTOs,GOSUBs,LISTs,LLISTs,  RESTOREs,SAVE...LINEs & #Ns are renumbered(except for decimal/  calculated arguments & REMs).If the arg
   2 ;"To help with PRINTing/PLOTting, this routine prints a BRIGHT ON /OFF checkerboard on the screen"
   2 ;"To delete all lines from a to b POKE 23728, a - 256*INT(a/256)  POKE 23729, INT(a/256)          RANDOMISE b":
   2 ;"To call this routine, use";
   2 ;"This routine will switch all    flashing squares to steady &    vice versa. This is hence very  different from routines 32/33."
   2 ;"This routine will switch all    bright squares to normal &      vice versa. This is hence very  different from routines 34/35."
   2 ;"This routine waits till a key   (whose CODE will be put in L)is pressed.":
   2 ;"This routine undoes the effect  of #98, to allow lines of a     CONFUSEd program to be EDITed/  altered.":
   2 ;"This routine swops all chara-   cters of a given CODE with all  characters of a 2nd given CODE. POKE 63903, Old CODE            POKE 63905, New CODE"
   2 ;"This routine shortens & speeds  up your program by deleting     all REM statements in it. Also  see #41,#82,#90 & #100.":
   2 ;"This routine replays what #77   recorded. It is probably best   to use your cassette-recorder   (MIC socket) to amplify the     sound.":
   2 ;"This routine replaces numbers   in the program by VAL String,   which saves space but reduces   speed. 0 is replaced by NOT PI. Also see #41,#64,#82,#90":
   2 ;"This routine prints the address of the first character in the   line the cursor points to.":
   2 ;"This routine prints out both    the no: of lines & statements   in the program. If you try this out, use GOTO 9001 to restart."
   2 ;"This routine prints out a full  analysis of memory contents,    starting at the address whose   less & more significant bytes   (see #61) have been POKEd into  62866 & 62867 respectively. The 4 columns are address, contents in decimal & hex & CHR$ (where  printable).":
   2 ;"This routine places a random #  pair in the System Variable     SEED ( PEEK 23670 & 23671 )." ;
   2 ;"This routine lists all          (1) Numeric variables           (2) String variables            (3) Numeric Arrays              (4) String Arrays               (5) FOR..NEXT control variables"  
   2 ;"This routine inserts a given    number into a block of memory.  POKE 63796, No: of bytes        POKE 63798 (less sig) & 63799     (more sig), Start Address     POKE 63801, No: to be inserted"
   2 ;"This routine expands programs   so that there is exactly one    statement per line (except in   IF..THEN lines).In reply to the prompt, enter the no: of the    line you want expanded, or just ENTER if you want the entire    program expanded. You must use  #60 after calling this routine.":
   2 ;"This routine enables you to     determine the 
   2 ;"This routine deletes hidden     colour items, thus saving space Also see #64,#82 & #100":
   2 ;"This routine decodes tapeheader information & prints out a full analysis (name, address, type,  length & auto-start details.":
   2 ;"This routine converts hex no:s  to their decimal equivalents.   It clears the screen & prompts  'H:' - now ENTER the hex no:.   Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit to   BASIC. When called from #92(Hex Loader) only the last 2 digits  are considered.":
   2 ;"This routine converts decimal   no:s from 0 to 65535 to hex.    It clears the screen & prompts  'D:' - now ENTER the dec no:.   Error message 6 results if the  no: was out of range. The rou-  tine autorepeats. Enter 'Q' to  quit to BASIC.":
   2 ;"This routine contracts programs into the minimum no: of lines,  by combining lines wherever it  is logically possible. Speed is also increased. See also #41,   #64, #90 & #100":
   2 ;"This routine allows hex input   into RAM.POKE the less/more sig (see #61) bytes of the first    address to be changed into the  system-var DEFADD (23563/4).    POKE 65360/61 with the start    address of routine #63(Hex-Dec) which must also be in memory.":
   2 ;"This routine allows a block of  lines to be relocated within a  BASIC program.In order to shift lines 4200 till 6745 so they    appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60  to renumber & #57 to delete the old lines. Fully errorproofed.":
   2 ;"The Toolkit contains 
   2 ;"THIS NOTE NOW SOUNDS SO:";
   2 ;"THIS IS AN EXAMPLE OF THE NEW   CHARACTER SET.POKE 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256 - CURRENTLY 0 & 223. TO RETURN TO THE NORMAL SET,POKE 23607,60.":
   2 ;"Save it to tape if you          don't want to loose it!"
   2 ;"SPEED OF REPLAY IS NOW ";sp;
   2 ;"Routines 94 to 97 change the    case (upper/lower)of strings or of the entire listing ( except  strings),as specified.Note that an effective way of switching   case from within programs is to POKE 23658,0 (LO) or 8(HI).":
   2 ;"Press key"
   2 ;"Press break to change"
   2 ;"PRESS THE CHOSEN KEY!"
   2 ;"PRESS ANY OTHER KEY TO              RETURN TO MENU!"
   2 ;"PRESS 't' to try the new note         'y' to change this note          with the old one"
   2 ;"PRESS 'q' TO RETURN TO MENU"
   2 ;"POKE 60006, Duration (1-127)    POKE 60020, Colours  (0-7)      POKE 60029, Line Space (1-255)  
   2 ;"OPTIONS:"
   2 ;"NOW RECORDING AREA";
   2 ;"Move the cursor to the required line & then call this routine.  You will be in EDIT mode, but   with the cursor at the END of   the line.":
   2 ;"Make the following POKEs:-      INK    (63732)  PAPER (63738)   FLASH  (63744)  BRIGHT(63750)   INVERSE(63756)  OVER  (63762)   AT (63768,63771)CHR$  (63774)"
   2 ;"MODIFYING YOUR RECORD"
   2 ;"Less Sig  More Sig":
   2 ;"In order to scroll a table of   data > 22 lines long without    stopping, use the command POKE  23692,x where x is the no: of   lines to be scrolled. To scroll 'forever' use POKE 23692,255    within the loop that generates  the lines.":
   2 ;"In order to print lists or text using all the 24 lines on the   screen, include POKE 23659,0    before each PRINT instruction.  At the end, POKE 23659,2. Use   PAUSE 0 to prevent the Scroll   command corrupting the screen.  PRINT #0 & PRINT #1 commands    are also usable.":
   2 ;"In order to make the first line of your program virtually non-  deletable (by making it #0)POKE 23755,0: POKE 23756,0. To do    this to other lines, first find their address X using routine   88, then POKE X-4,0: POKE X-3,0 The program will work provided  you do not GOTO/GOSUB/RESTORE   such lines.":
   2 ;"Having connected the EAR socket of the cassette-recorder to the Specrum, start PLAYing the tape ( Voice is best. Let Vol=max )  Enter CLEAR 32767:RANDOMISE USR 65290. All memory from 32768 to 65K is used. To replay, call    routine 78.":
   2 ;"Follow the prompts to expand a  REM statement (to accommodate   code) anywhere in the program,  by up to 9999 bytes":
   2 ;"ENDS AT: ";65535
   2 ;"END OF RECORDING AREA":
   2 ;"Drive= ";
   2 ;"Draw multipointed-stars & rings by first plotting a point near  the middle of the screen & then using DRAW X,Y,N  where X & Y   have magnitudes from 10 to 60   & N lies between 8000 & 9999.   You may need to experiment.":
   2 ;"Draw any closed figure on the   screen, then PLOT a point lying INSIDE it. POKE 59293 with the  Attribute value to be filled,&  then call this routine          
   2 ;"DO YOU WANT TO              SET UP NEW LIMITS? (y/n)"
   2 ;"Corrupts the listing without    affecting program execution:    attempting to EDIT/alter lines  could be fatal (thus useful for program protection, as are #61/ #80).":
   2 ;"Call this routine at the start  of your program, say by having  as LINE 1, '1  RANDOMISE USR    60899'. Now if an error of the  type D:BREAK,H:STOP in INPUT or L:BREAK into program occurs the program will not stop but will  jump to the line number whose 2 byte equivalent is POKEd into   60952(lo) & 60953(hi).This line is initially 9495.":
   2 ;"Call this routine at the start  of your program, say by having  as LINE 1, '1  RANDOMISE USR    60826'. Now if an error occurs, (other than types 0:OK,8:END or 9:STOP) the program will not    stop but will jump to the line  number whose 2-byte equivalent  is POKEd into 60878(lo) & 60879 (hi)...initially 9495. For the  error code, PEEK 23681.":
   2 ;"By combining this routine with  No:s 37-40, joint scrolling of  attributes can be done. Define  a suitable box, use an Attr Val of 63 & call the Attr Scroll    routine(s) once for every 8     calls of this routine."
   2 ;"By POKEing 23606 & 23607 with   different numbers, a corrupted  character set is obtained. To   normalise, POKE 23606,0 : POKE  23607,60. Protect your program  with this, temporarily normal-  ising before each PRINTing.":
   2 ;"BETA 128"
   2 ;"BEGINS AT: ";AT+256
   2 ;"ALTER THE NOTES"
   2 ;"9 is three times as fast as        the normal speed,";
   2 ;"6. ALTER NOTES"
   2 ;"5/8:move cursor forward/backward";
   2 ;"5. MODIFY RECORD"
   2 ;"4. LOAD FROM TAPE"
   2 ;"3. SAVE TO TAPE"
   2 ;"2. speed of change of              pulse width                     USE THE 's' KEY TO CHANGE"
   2 ;"2. PLAY BACK"
   2 ;"2. CHANGE PITCH AND/OR         DURATION OF SINGLE NOTES"
   2 ;"1. change of pulse width in        percentage of frequency         USE THE 'p' KEY TO CHANGE"
   2 ;"1. PLAY & RECORD"
   2 ;"1. ALTER SPEED OF REPLAY";
   2 ;"1)Make line#1 a REM statement:   then POKE 23755,100. You can    RUN the program but not LIST it until you POKE 23755,0.        2)POKE 23636,150. To return to   normal, POKE 23636,92.         3)Use CONFUSE (#98) ,call #65 &  #66 to disable BREAKs, use CHR$ SCRAMBLE (#59) to scramble the  listing & #68 to create non-    deletable lines with 
   2 ;"0: next page of notes";
   2 ;"----> ";
   2 ;"-----------------------------------------"
   2 ;"(max.  8 character)"
   2 ;"(MAXIMUM FROM 40000 TO 62999)"
   2 ;"'t' to see the next                  two octaves"
   2 ;"'r' to";
   2 ;" source : ";
   2 ;" Title ";s$:
   2 ;" FORMAT !!! ";
   2 ;"  new filename ";n$:
   2 ;"   3. OMIT THIS NOTE  ";
   2 ;"   2. CHANGE DURATION          ";
   2 ;"   1. CHANGE PITCH              ";
   2 ;"         ":
   2 ;"          Y to confirm";:
   2 ;"                   "
   2 ;"                             ":
   2 ; "Alter buffer "
   2 :these can be  
   2 :if  not,only 1 of the copies might  be erased."'" (b)When saving different parts   of the program,
   2 :Swop sets all squares    with the item On,to Off, & all  with the item Off,to On." 
   2 :On/Off toggle the given  Colour item"'" 
   2 9990, & proceedto
   2 7,13;: LET Z=
   2 7,13, you must enter PRINT 
   2 7,13, enter PRINT 
   2 65360/61 with the start    address of routine #63(Hex-Dec) which must also be in memory."
   2 65290. All the memory from 32768 to 65535  is used.To replay,use #78."
   2 64834, Box Width"'"
   2 64832/5 with
   2 64831, Box height"'"
   2 64714/5, 2 byte eq of S    Also see #60."
   2 64711/2, 2 byte eq of I    
   2 64702, Frequency 2"
   2 64693, Frequency 1"'"
   2 64682, Duration"'"
   2 64670, 28(UP) or 29(DOWN)"
   2 64651, Duration"'" 
   2 64649, Span"'" 
   2 64648, Frequency"'" 
   2 63951, Duration"
   2 63905, New 
   2 63903, Old 
   2 63801, No: to be inserted"
   2 63798/9, Start Address (2  byte eq)"'"
   2 63796, No: of bytes"'"
   2 63713/14 with the address  of the new 
   2 63652/53 with the 2-byte   equiv.(see #101)of the address  of the 
   2 63648,   no: of 
   2 63502,No: of 
   2 63499/500,2 byte equiv.     (see#101)of 
   2 63017/8, Time(ms) ""  """
   2 63014/5, Pitch( 2 byte eq) 
   2 63012, Number of notes     
   2 63011, Pitch Decrement     
   2 63004/5, Time(ms) ""   """
   2 63001/2, Pitch( 2 byte eq) 
   2 60899  Now if an error of the type D:  BREAK,  H:STOP in INPUT or L:   BREAK into prog occurs,the prog will not stop but will jump to  the line no: whose 2 byte equi- valent was
   2 60826. Now if/when an error(other than types 0:OK,8:END,9:STOP)occurs  the program will not 
   2 60713","113","HEX->DEC CONVERTER",E
   2 60039.Z contains the required 
   2 60039 Now Z is the required code.":
   2 60020, Colours  (0-7)      
   2 60006, Duration (1-127)    
   2 58682,Box Length in 
   2 58681,Box Width in pixels  
   2 58680,64(Up)72(Mid)80(Low)
   2 58679,Top Left  Square 
   2 57344----(8118)----65461
   2 57124 with 195 IF you wish to execute m/c from an address(
   2 57114/15 with 1st byte's   address.
   2 57110/11 with no: of bytes 
   2 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before  running program(ignoring the    initial display)or during the   program.TRACE remains ON until  you enter 
   2 32s.Also see #71"
   2 24,(``AAAAAAAAAAAAAAAAAAAAAAAAB24,(```AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
   2 24,(`AAAAAAAAAAAAAAAAAAAAAAAAA
   2 23788.If =  Program length found with #104  then it came from a MicroDrive"
   2 23787+256*
   2 23728/9, 2 byte eq:  of a  
   2 23692,255    within the loop that generates  the lines."
   2 23676,255.";
   2 23676, 223   
   2 23670 & 23671 now hold the less significant & more signi-  ficant byte values respectively":
   2 23670 & 23671 give   the less sig: & more sig: bytes respectively."
   2 23659,2. Use
   2 23659,0 before   each
   2 23659,0 at prog start -  the effect is that of no:5)."
   2 23636.If=23755,it hasn't  been paged in so far."'" (c)To check if the program just  
   2 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble 
   2 23636,150. To return to  normal
   2 23636),100. You can RUN but not LIST prog   until you
   2 23635+256  *
   2 23607, 60.";
   2 23607, 223   
   2 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF  THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN  TO THE USUAL 
   2 23552,RAMTOP-23550-F to    save your program disguised as  bytes- it will autostart at the first line."'" Also see #104.";
   2 23550,Address of LAST byte of 
   2 2 byte eq  of Start Address in 63980/1 )   with the display 
   2 1984 SUPERSOFT SYSTEMS    
   2 1983 SUPERSOFT SYSTEMS    
   2 16384,6912
   2 120"'"Then enter
   2 0 to restart the toolkit. If called from #92, only the    last 2 digits are considered."
   2 0 to restart the   toolkit."
   2 0 restarts"
   2 /***************************/
   2 /* Without min & max function*/
   2 /*  DOS HEADER          */
   2 /*   Header for ZX Spectrum  */
   2 .Keeping the 
   2 . Also   try
   2 -/_*_pb+-e3ntf("\025%c",on?0:1);}
   2 - 23549. When the  
   2 ,use routine  87 to find its 
   2 ,to the given address,a headerless file"
   2 ,this routine merges a
   2 ,say X, to a  new 
   2 ,,          "   W E L C O M E  in Mercury's  ",,"     Torres Commander  V 1.5   ",,,"     by Aleks Torres 
   2 ,"VARIABLES SEARCH/LIST",1
   2 ,"UNCONFUSE LISTING",1
   2 ,"U-CASE STRINGS",1
   2 ,"U-CASE PROGRAM",1
   2 ,"TAPE HEADER READER",1
   2 ,"SUPER-RENUMBER",1
   2 ,"STAR/TORUS DRAW",1
   2 ,"SCREEN-PRINT",1
   2 ,"SCREEN SEARCH",1
   2 ,"SCREEN GRID",1
   2 ,"SCIFI CHARACTER SET",1
   2 ,"REPLAY SOUND",0
   2 ,"REMKILL CONDENSER",1
   2 ,"RECORD SOUND",0
   2 ,"RANDOM NUMBER GENERATOR",20
   2 ,"PROTECT PROGRAM",1
   2 ,"PAINT-FILL",1
   2 ,"ON ERROR GOTO",1
   2 ,"ON BREAK GOTO",1
   2 ,"NON-DELETABLE LINES",1
   2 ,"MONOCHROME PROGRAM",1
   2 ,"LINE ADDRESS",1
   2 ,"L-CASE STRINGS",1
   2 ,"L-CASE PROGRAM",1
   2 ,"HIRES SW-DIAG SCROLL",190
   2 ,"HIRES SE-DIAG SCROLL",190
   2 ,"HIRES NE-DIAG SCROLL",176
   2 ,"HEX->DEC CONVERTER",1
   2 ,"HEX LOADER",1
   2 ,"FREE-SCROLLER",1
   2 ,"FLASH SWITCH",1
   2 ,"EXPAND REM",1
   2 ,"EXPAND PROGRAM",1
   2 ,"DEC->HEX CONVERTER",1
   2 ,"CONTRACT PROGRAM",1
   2 ,"CONFUSE LISTING",1
   2 ,"COMPRESS NUMBERS",1
   2 ,"CHR$ SCRAMBLE",1
   2 ,"BRIGHT SWITCH",1
   2 ,"BORDER EFFECTS",10
   2 ,"BLOCK MEMORY INSERT",1
   2 ,"BLOCK LINE DELETE",1
   2 ,"BLOCK LINE COPY",1
   2 ,"AWAIT KEYPRESS",1
   2 ,"APPEND STATEMENT",1
   2 ,"ANALYSE PROGRAM",1
   2 ,"ANALYSE MEMORY",1
   2 ,"24-LINE PRINTING",1
   2 ,"2 BYTE CONVERTER",1
   2 , use a fresh  cassette - the routine is saved under the name ";
   2 , use GOTO 9001(not RUN)to restart the program."
   2 , PEEK  23681."
   2 ,  on an empty Spectrum,to 
   2 ,    which saves space but reduces   speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers  (ie 0,1,2,10 etc)by variables,  defined at the start. Routine   #72 is useful for locating no:s"
   2 +dsk);" Sector= ";sec;" Track= ";trk
   2 +66V+66V966V@
   2 *ing:if  a program is long/RAMTOP is low it could crash when you try to  
   2 *ing long   programs.If any message besides 0 OK appears,shorten the prog:  or
   2 *cstr='g';
   2 *cstr='\n';
   2 *SUPERCODE
   2 *BT;" AND ";65535
   2 *** SPEECH OUT ***
   2 *(a$(x)>"9"):
   2 *(a$(x)>"9")
   2 *"m";NN;C$(
   2 *"m";E;"SUPERCODE4":
   2 *"m";E;"SUPERCODE4"
   2 *""m"";n;Name$   
   2 * it.That would lose the   whole program.Instead,call this routine before
   2 * ,".$&()+-/%'*,.
   2 *  ""m"";n;Name$(
   2 )to tfr parts 3&4."'"(4)You now have a verified copy  of SUPERCODE on microcartridge  -it will autostart if you enter 
   2 )to Tape/Microdrive,
   2 ). To access a routine whose no:  is known, press 
   2 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these.   
   2 ),  or just after,part1,and call it from there.It will
   2 )+x$+" "+q$+h$+"-":
   2 ) to restart. To get this routine's details  another time, press 
   2 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer  workat its old address."'"(3)The ROM routines & #120 are vdifficult to relocate (why ever relocate a ROM routine?!),#77/78have to be located at the top ofRAM.":
   2 (sy<<8)+sx;
   2 (same number),0.2)
   2 (X/256)"'"
   2 (START/256
   2 (LENGTH/256
   2 (Index). Use ENTER to turn pages To access the next routine in  the Index, press 
   2 (63768,63771)
   2 (63762)    
   2 (63744)   
   2 (63738)   
   2 (63732)     
   2 (1)Using PAUSE"'"(2)W/out PAUSE
   2 (1)Reset the Spectrum.Put a new  cartridge in Microdrive#1"'"(2)Enter
   2 (""SUPERCODE"", or  ERCO),commands( 
   2 '"This routine will be saved with the provisional name 
   2 '" (1)At 10% Speed, using PAUSE"'" (2)At Full Speed"
   2 ' (repeat)"
   2 ' (number)":
   2 ' (index)"
   2 ' (continue)"
   2 & statement no: currently being   executed.
   2 #include prcat
   2 #include main
   2 #include dump.h
   2 #include crupdn
   2 #include all_d
   2 #include ?sgraph.l?
   2 #define UP 11
   2 #define RIG 9
   2 #define LEFT 8
   2 #define HEAPSIZE 1000
   2 #define ERROR -1
   2 #define ENTER 13
   2 #define DOWN 10
   2 #define BUFSIZE 256
   2 #4;   is executed(use with r.no:65)   This pages in the shadow ROM,   if present."'" (b)To check if the shadowROM is  paged in,
   2 #0/#1.If the lower    part of 
   2 ###~#fo###~#fo#~#fo
   2 ###~#fo###~#fo
   2 # command does
   2 # GENERATOR",E
   2 "track no: ";trk
   2 "programs.This BASIC program letsyou list,test,customise,relocateSAVE & VERIFY routines easily - but the routines will work just as well if the program is absent"
   2 "a:*","b:*"
   2 "WHICH BLOCK (1-): ";PIC:
   2 "The save MUST then be verified."
   2 "The code is from 57344 to 65461:it overwrites the first 12 UDGs.RAMTOP has been cleared to 57340"
   2 "Sector no: ";sec
   2 "ROM","0","STAR/RING DRAW",E
   2 "ROM","0","PROTECT PROGRAM",D
   2 "ROM","0","NON-DELETABLE 
   2 "ROM","0","MDRVE DIAGNOSIS",D
   2 "ROM","0","FREE-SCROLLER",E
   2 "ROM","0","FAST
   2 "ROM","0","CHR$ SCRAMBLE",E
   2 "ROM","0","AUTO
   2 "ROM","0","24
   2 "ROM","0","2 BYTE CONVERTER",E
   2 "OK,the name is
   2 "New Drive A,B,C,D";a$
   2 "NEW PITCH?: ";np
   2 "NEW DURATION?:";nd
   2 "NAME: ";A$:
   2 "Move the cursor to the required line & then call this routine.  You will be in EDIT mode, but   with the cursor at the END of   the line."
   2 "LAST BYTE: ";l:
   2 "HisoftPr"
   2 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)":
   2 "FIRST BYTE: ";f:
   2 "F R ` F R `"'':
   2 "CHOSEN SPEED?";pp
   2 "CHOSEN NUMBER?(1-6)";N:
   2 "And now at slow speed":
   2 ";A+P;", Box Width"'"
   2 ";A+M;", Box Height"
   2 ";A+G;" with"'"
   2 ";A+F;", INT(X/256)"
   2 ";A+E;", X- 256*
   2 ";A+E;", Overall Colour"
   2 ";A+E;", New Attribute Val"'"
   2 "9",H;"To call this routine, use";
   2 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant  byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte    equivalents.To convert X to its 2 byte equiv.,enter
   2 "65494","32","PIXEL RIGHT-SCROLL",S
   2 "65462","32","PIXEL LEFT-SCROLL",S
   2 "65350","112","HEX
   2 "65318","32","REPLAY SOUND",D
   2 "65290","28","RECORD SOUND",D
   2 "65277","8","SURE
   2 "65256","21","
   2 "65204","52","
   2 "65143","61","
   2 "65081","62","
   2 "65026","55","
   2 "64982","44","
   2 "64965","17","
   2 "64948","17","
   2 "64931","17","
   2 "64914","17","
   2 "64884",M:
   2 "64883","31","
   2 "64858","25","
   2 "64828","30","
   2 "64809","19","
   2 "64784","25","
   2 "64756","28","
   2 "64744","12","
   2 "64706","38","
   2 "64675","31","DUAL-NOTE SOUND-GEN",J
   2 "64647","28","UNI-NOTE SOUND-GEN",H
   2 "64629","18","SHUTTER RIGHT-SCROLL",I
   2 "64611","18","RIPPLE RIGHT-SCROLL",S
   2 "64593","18","SHUTTER LEFT-SCROLL",I
   2 "64575","18","RIPPLE LEFT-SCROLL",S
   2 "64550","25","
   2 "64525","25","
   2 "64500","25","
   2 "64475","25","
   2 "64450","25","
   2 "64425","25","
   2 "64400","25","
   2 "64375","25","
   2 "64350","25","
   2 "64325","25","
   2 "64300","25","
   2 "64275","25","
   2 "64211","59","LOWER-CS PROGRAM",D
   2 "64197","14","MEMORY AVAILABLE",E
   2 "64098","99","PIXEL DOWN-SCROLL",192
   2 "64001","97","PIXEL UP-SCROLL",192
   2 "63976","25","
   2 "63950","26","LASER ZAP",I
   2 "63902","43","
   2 "63806","96","BLOCK 
   2 "63795","11","BLOCK MEMORY INSERT",E
   2 "63777","18","
   2 "63728","49","
   2 "63644","83","
   2 "63490","154","
   2 "63382","108","INITIALISE",D
   2 "63205","177","
   2 "63163","42","
   2 "63143","20","
   2 "63124","19","
   2 "63051","73","
   2 "63034","17","OBLIQUE SCROLL-OFF",1625
   2 "63010","24","MULTI
   2 "63000","10","UNI
   2 "62943","54","MONOCHROME PROGRAM",D
   2 "62857","86","ANALYSE MEMORY",E
   2 "62819","38","
   2 "62533","286","TAPE HEADER READER",D
   2 "62404","129","ANALYSE PROGRAM",E
   2 "62087","317","EXPAND PROGRAM",D
   2 "61400","687","CONTRACT PROGRAM",D
   2 "61000","400","BLOCK
   2 "60972","24","AWAIT KEYPRESS",D
   2 "60899","72","ON BREAK
   2 "60879",D:
   2 "60878",J:
   2 "60826","73","ON ERROR
   2 "60595","118","DEC->HEX CONVERTER",E
   2 "60494","101","
   2 "60407","86","APPEND STATEMENT",D
   2 "60222","185","VARIABLES
   2 "60192","30","
   2 "60162","30","
   2 "60039","123","
   2 "60029",Z:
   2 "60029",I:
   2 "60020",F:
   2 "60006",I:
   2 "60000","38","
   2 "6";"COPY From ";d$;" ";z$;
   2 "59988","12","PROGRAM LENGTH",E
   2 "59975","13","
   2 "59294","681","SUPER-RENUMBER",D
   2 "59136","158","PAINT-FILL",E
   2 "58892","244","
   2 "58833","59","UPPER-CS 
   2 "58774","59","LOWER-CS 
   2 "58715","59","UPPER-CS PROGRAM",D
   2 "58683","31","BLOCK MEM
   2 "58608","75","PIXEL BOXRIGHT SCROLL",S
   2 "58571","112","PIXEL BOXLEFT SCROLL",S
   2 "58398","173","UNCONFUSE
   2 "58263","135","CONFUSE
   2 "58115","148","COMPRESS NUMBERS",D
   2 "57344","768","SCIFI 
   2 "57176","168","FOREIGN ACCENTS",E
   2 "57159","17","ADAPT PROGRAM",D
   2 "57126","33","SURE
   2 "57108","18","HEADERLESS FILES",D
   2 "57094","14","ANTI-
   2 "56777",E:
   2 "56640","450","TRACE VARI-SPEED",E
   2 "56"*(N<P)'" SCROLL-OFF:  
   2 "54"+(N<P):
   2 "4)Imbed  hidden colour CHR$ to   set INK=PAPER within non-delet- able lines:the listing vanishes5)Autostart by using SAVE Name$  LINE X. Let line X be 'LET ERR= 256*PEEK 23614 +PEEK 23613:POKE ERR,0:POKE ERR+1,0'. Any BREAK/ error will now cause a crash.":
   2 "4)Embed  hidden colour CHR$ to   set
   2 "4";"By";:
   2 "36"+A;", 26"'" SCROLL-OFF:
   2 "36"+A;", 0"
   2 "3438","0","LOWER 
   2 "3190","0","
   2 "2590"*(N$="L")
   2 "23659",F*(N=
   2 "23606",D:
   2 "234"-Z,D:
   2 "23295"+Z,
   2 "20"*(NMAX=F)
   2 "2.3025"):
   2 "2"-temp;e$:
   2 "2")+pic*(prcurb+prbegb-
   2 "2")+n$(b1
   2 "19",E;"8 calls"
   2 "18",D;" WRAP-AROUND:
   2 "16";"Right"
   2 "15",E;"To scroll attributes as well,   refer to routines 37-40(define  suitable box & Attr value).Call the attribute scroll once per   1 call  of this routine.":
   2 "13";"RENAME";
   2 "13";", 0"
   2 "1210"+N*I:
   2 "111"),D;" 
   2 "109"),H;"
   2 "1";"   ":
   2 "1";"    ";:
   2 "1";"        ":
   2 "1";"          
   2 "1"-pic)*(prcur+prbeg-
   2 "0";"Kiev   
   2 "0";"KapitanSoft";:
   2 "0";"Disk Version";:
   2 "0";"***********";:
   2 "0","0","RESET",D
   2 "'''"Where any part of SUPERCODE is  used,a prominent credit must be given to this fact, and to its  authors, F.A.Vachha BSc & V.B.  Rumsey.":
   2 "''"Define Z1,Z2:-"'"For 
   2 "''"(1)To move a Relocatable Routineso that it starts at address  Z,first
   2 "'"Place: 56640-65535(RAMTOP=56639)Help Prog:
   2 " WRAP-AROUND: 
   2 " To renumber without
   2 " To renumber lines starting with S using interval I,
   2 " To make a 
   2 " To help with
   2 " To delete all lines from a to b 
   2 " This routine zeroes all numeric variables/arrays,sets all 
   2 " This routine waits till a key   (whose CODE will be put in L)is pressed.";
   2 " This routine undoes the effect  of #98, to allow lines of a     CONFUSEd program to be EDITed/  altered."
   2 " This routine swops all 
   2 " This routine simulates a power- off: ie, it not only does
   2 " This routine shortens+speeds up programs by deleting all
   2 " This routine replays what #77   recorded. It is probably best   to use your cassette-recorder   (MIC socket) to amplify the     sound."
   2 " This routine replaces numbers   in the program by VAL 
   2 " This routine replaces each occ- urrence of a specified 
   2 " This routine prints out a full  analysis of memory contents,    starting at the address whose   less & more significant bytes   (see #101)have been
   2 " This routine places a random #  pair in the System Variable     SEED ( PEEK 23670 & 23671 )." ;
   2 " This routine operates on 
   2 " This routine merges a 
   2 " This routine loads information  stored in memory into an auto-  created
   2 " This routine lists each 
   2 " This routine lists all"'" (1) Numeric variables"'" (2) 
   2 " This routine inserts a given    number into a block of memory.  
   2 " This routine expands programs   so that there is exactly one    statement per line (except in   IF..THEN lines).In reply to the prompt, enter the no: of the    line you want expanded, or just ENTER if you want the entire    program expanded. You must use  #60 after calling this routine."
   2 " This routine enables you to     determine the 
   2 " This routine does a
   2 " This routine deletes all hidden colour 
   2 " This routine decodes tapeheader information & prints out a full analysis (name, address, type,  length & auto-start details."
   2 " This routine converts decimal   no:s from 0 to 65535 to hex.    It clears the screen & prompts  'D:' - now ENTER the dec no:.   Error message 6 results if the  no: was out of range. The rou-  tine autorepeats. Enter 'Q' to  quit,&
   2 " This routine allows hex input   into RAM.POKE the less/more sig (see #101)bytes of the first    address to be changed into the  system-variable DEFADD(23563/4)
   2 " This routine allows a block of  lines to be relocated within a  BASIC program.In order to shift lines 4200 till 6745 so they    appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60  to renumber & #57 to delete the old lines. Fully errorproofed."
   2 " The routine speeds up+contracts programs into the minimum no:of
   2 " The routine changes all squares with a given 
   2 " The routine
   2 " The free space F from the last  Variable to RAMTOP is printed.  Use
   2 " THIS IS AN EXAMPLE OF THE SCIFI 
   2 " Routines 94 to 97 change the    case (upper/lower)of strings or of the entire listing ( except  strings),as specified.Note that an effective way of switching   case from within programs is to POKE 23658,0 (LO) or 8(HI)."
   2 " In some cases the command 
   2 " In order to scroll a table of   data > 22 lines long without    stopping, use the command
   2 " INVERSE SCR:
   2 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),& 
   2 " For transfer of 
   2 " Follow the prompts to expand a  REM statement (to accommodate   code) anywhere in the program,  by up to 9999 bytes"
   2 " Draw multipointed-stars & rings by first plotting a point near  the middle of the screen & then using DRAW X,Y,N  where X & Y   have magnitudes from 10 to 60   & N lies between 1000 & 9999.   You should experiment."
   2 " Draw any closed figure on the   screen, then PLOT a point lying INSIDE it. POKE 59293 with the  Attribute value to be filled,&  then call this routine."
   2 " Corrupts the listing without    affecting program execution:    attempting to EDIT/alter lines  could be fatal (thus useful for program protection, as are #68/ #80)."
   2 " Call this routine at the start  of your program, say by having  as
   2 " By POKEing 23606 & 23607 with   different numbers, a corrupted  character set is obtained. To   normalise, POKE 23606,0 : POKE  23607,60. Protect your program  with this, temporarily normal-  ising before each PRINTing."
   2 " BASIC programs with m.code in   
   2 " A set of accented 
   2 "  The routines run hundreds of  times faster than BASIC,& can becustomised easily. Do enjoy yoursuperb Z80 MachineCode Library!"
   2 "  Keep a written record of the  name, address & length of this  routine, as well as of all the  relevant POKEs. For details on  relocation, refer to the manual."
   2  values are not changed.Refer to #25-27 for 
   2  to """" & all dimensioned 
   2  swops the  current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X to X+6911, use  
   2  print_cat(prbeg);
   2  print_bri(cur,0);
   2  prbri0(cur0,0);
   2  prbri(cur,0);
   2  messages."
   2  messages"
   2  machinecode routines which you can call(using RANDOMIZE/PRINT USR) bothdirectly & from within your own"
   2  is now called
   2  if(cur>=i) cur-=i;
   2  if(cur1>=i) cur1-=i;
   2  for (i=0;i<6;i++)
   2  does not close all streams.If this occurs,use this routine."
   2  cngdrive(drive);
   2  c-b+256*nsec,
   2  _setover(on);
   2  _plot(x,y);
   2  POKE 23607, 223   
   2  KAZ SOFTWARE 1985. 
   2  ERR+1,0'.Any BREAK/ error will now cause a crash. 6)
   2  59580 ,I: POKE 59582/3,2 byte eq:of S Each 
   2  23692,x where x is the no: of   lines to be scrolled. To scroll 'forever' use
   2  1983 Hodgson and Threlfall"
   2  1.The 2 byte equivalents(see #  101)of the starting address of  the memory & the no: of bytes   must be stored in 63209/10 and  63206/07 respectively."
   2  -rewind & replay the cassette   from the start.When you come to this page,press 
   2  (Repeat)."'" For a demo, press 
   2  (Quit). Use
   2  (Number).":
   2  (Demo)."'" To return to the Index, press 
   2  ( Location Change ).     For BASIC, press 
   2  "$&()+-/%'*,.
   2   unsigned _size; };
   2   the cursor is pointing to.";
   2   stored in RAM (
   2   prcat0();
   2   no:,the next valid
   2   for(i=0;i<30;i++)
   2   else { prbeg1+=cur1-i;
   2   else { prbeg+=cur-i;
   2   else  return(-1);
   2   cur0= DEPT-1;
   2   but also
   2   at(17,y+ TOP );
   2   X,Y;""Optional Message"";Variable The method works with
   2    print_cat(prbeg,_ptr);
   2    prcat1();
   2    prbeg0=filn0-(DEPT-1);
   2    key pressed,play the cassette.  This tfrs parts 1&2."'"(3)After the reset enter 
   2    if(prbeg<0) prbeg=0;
   2    if(prbeg1<0) prbeg1=0;
   2    if (mode) EXCHAN
   2    cur=0; }
   2    cur1=0; }
   2    arrays to 
   2    V.RUMSEY   
   2    BASIC programs."'" (b)To 
   2     case ENTER :dump(CAT);
   2     case 'd'   :
   2     case 'R' :
   2     case 'D'   :
   2         0xed,0x5
   2         (b_ptr,fend,nsec);
   2          return(0);
   2          0x0e,5,
   2                                                                                                                                                                                                                                                                 Y
   2                 
   2               
   1 ~~  Options
   1 ~org     C
   1 || p<q->_ptr)) break;
   1 |@n@h@]@|@n@h@]@
   1 {static sx,sy,de,bc;
   1 {static int c;{=\
   1 {static int c;q
   1 {static ft;
   1 {return _colour(17,i);}
   1 {p->_size-=nbytes;
   1 {p->_size+=q->_ptr->_size;
   1 {if (p->_size>=nbytes)
   1 {if (p->_si
   1 {if ((*cmp_func)(p,p+byte_gap)<=0) break;
   1 {if ((*cmp_func)(p,p+byte_gap)<=
   1 {getblock(catadr,0,0,9);};
   1 {dy=-dy;sy=-1;}
   1 {dx=-dx;sx=-1
   1 {_setover(on);
   1 { static bor;
   1 { return _colour(21,i); }
   1 { return _colour(20,i); }
   1 { return _colour(19,i); }
   1 { return _colour(18,i); }
   1 { at(29,1); printf("  ");}
   1 { at(1,1);printf("       ");}
   1 zmirage  C
   1 ze>=nbytes)
   1 zORGAN   B
   1 zMIRAGE 2B
   1 yx|`qABWGDEVZIJKLMNOP
   1 yrlf`[VQLHD@=9630-+(&$" 
   1 yramcheckBd
   1 y$+e$,v$+e$#
   1 xTapemenuB
   1 xTM      C
   1 xRAMTEST BY
   1 xDISKTESTB
   1 xCurrent mask:
   1 while(end !=0)
   1 while( (cnt<b_ptr+BUFSIZE)
   1 while( (bas<b_ptr+BUFSIZE)
   1 while (c=*s++)putc(c,fp);}
   1 w$="DATA":
   1 w$="CODE":
   1 w$="                               "
   1 w#w#w##s#r!
   1 void print_bri(y,on)
   1 void prfile(y,_ptr)
   1 void prcat1()
   1 void prcat0()
   1 void prcat()
   1 void prbri(y,on)
   1 void getcat(catadr)
   1 vlh      C@
   1 vkeep stre
   1 verify disk
   1 ver(0);flash(0);
   1 vZAGL    B
   1 vLastHopeB
   1 uv loader 
   1 use a predeclared structure for parameters
   1 unsigned duration,pitch;
   1 undefined variable(s)
   1 undefined variable
   1 undefined label: 
   1 udgs      
   1 type should be function
   1 trk=o_ptr->_track+sec/16;
   1 too much initialisation data
   1 this variable was not in parameter list
   1 tel.92-80-84         *",,,,,,"********************************"
   1 te_gap;p>=list;p-=byte_gap)
   1 tTIME    B
   1 tCyrillicCX
   1 tBOOTpgrmB
   1 t:^x<W!]xy
   1 t$(ent)="C"
   1 switch(key)
   1 switch(dump_typ)
   1 structure cannot contain itself
   1 struct _cat *cat_ptr;
   1 storage class not valid in this context
   1 static int prbeg=0;
   1 static int prbeg;
   1 static int fnum=0;
   1 static int fnum;
   1 static int filn=MAXFILN
   1 static int filn;
   1 static int dump_typ=1;
   1 static int cur=0;
   1 static int cur;
   1 static int chan=2;
   1 static cod;
   1 static char drive;
   1 so2     C`
   1 snum=snum+1
   1 setscr(ink,pap
   1 selcur=selb+prcurb+prbegb-
   1 selcur=sela+prcur+prbeg-
   1 selb+i,(k$="+"):
   1 sela+i,(k$="+"):
   1 secread C`
   1 sec=sec % 16;
   1 sec=o_ptr->_sector+nsec;
   1 sRendisc C`
   1 sMNBeLKJHPOIUY0987612345QWERTASDFGcZXCV
   1 russian font
   1 ruct _cat *_ptr;
   1 rn sign*value;}
   1 ri2(_scr,on)
   1 return(o_ptr->_len-256*nsec);
   1 return i;}
   1 reload1(drive,on)
   1 reload0(drive,on)
   1 reload(_ptr)
   1 rboot    C`m
   1 rCopy 4  B
   1 r,track,nsec;
   1 r$="b:"+z$(1
   1 r$="b:"+w$(i,1
   1 r$="a:"+z$(1
   1 r$="a:"+w$(i,1
   1 r _title [8
   1 putchar(81 ^ *ptr++);
   1 putc(i,2);
   1 putc(h,2);
   1 printf("D U M P  V 1.3");
   1 printf("%d",32*(chan-1));
   1 print_cat(prbeg,_ptr);
   1 print_bri(cur,1);
   1 prcurb=prcurb-1
   1 prcurb=prcurb+1
   1 prcurb=filnb-prbegb+1
   1 prcurb+prbegb-1
   1 prcur=prcur-1
   1 prcur=prcur+1
   1 prcur=filn-prbeg+1
   1 prcur+prbeg-1
   1 prbegb=prbegb-
   1 prbegb=prbegb+
   1 prbeg=prbeg-
   1 prbeg=prbeg+
   1 pos=i+buff
   1 poke(address,value)
   1 plc       
   1 pitch=pitch/10;
   1 picb=drive
   1 pica=drive
   1 pbstack overflow
   1 p$="                                ":
   1 over(1);flash(1);
   1 over(0);flash(0);
   1 org       
   1 omnicalc  
   1 oboot1   B
   1 o_ptr=&(cat_ptr1->_file[prbeg1]);
   1 o_ptr=&(cat_ptr0->_file[prbeg0]);
   1 o_ptr=&(cat_ptr->_file[prbeg]);
   1 o_ptr=&(_ptr->_file[fnum]);
   1 o_ptr=&(_ptr->_file[begin]);
   1 oFlist1  C
   1 oDboot   B?
   1 o$="     ":
   1 nsec+=BUFSIZE/256;
   1 not in switch
   1 not in loop or switch
   1 not in loop
   1 not a preprocessor command
   1 not a defined member of a structure
   1 no arrays of functions
   1 need a type name
   1 need a pointer
   1 need a constant expression
   1 need a : to follow a ? - check bracketting
   1 multiple use of identifier
   1 multiple default statements
   1 move(cc,"q\25\24\2
   1 missing 'while'
   1 missing ')' in function declaration
   1 missing ' '
   1 md2       
   1 md1       
   1 mcoder2 CV
   1 macro buffer full
   1 le1(y,_ptr)
   1 lDM      C
   1 key=rawin();
   1 kbootdm  B
   1 k$(ent)=192
   1 k         
   1 ir loader 
   1 ir 16K    p
   1 ir 16K    
   1 io+++F+N!Xt
   1 inverse(i)
   1 int sec,trk;
   1 int hex_dump(b,end)
   1 int getbuff(b_ptr,o_ptr,nsec)
   1 int end,fend,nsec;
   1 int dump(_ptr)
   1 int dec_dump(b,end)
   1 int basic_dump(b_ptr,l_ptr,fend)
   1 int ascii_dump(b_ptr,fend)
   1 int ahex_dump(b,end,nsec)
   1 int adec_dump(b,end,nsec)
   1 int _scr,on;
   1 inline(0xed,0x5b,&de,
   1 inline(0xdd,]
   1 inline(0xdd,0x46,4,
   1 inline(0x21,&cod,0x5e,
   1 ink(2);at(8,2);
   1 in drive ";
   1 illegal parameter type
   1 if(prbeg0<0) prbeg0=0;
   1 if(*l_ptr==TRUE)
   1 if (sum==62110) return(0);
   1 if (sum==1824) return(0);
   1 if (mode==1)
   1 if (mode==0)
   1 if (i<0 | i>7) return -1;
   1 if (cnt-b_ptr>=fend)
   1 if (bas-b_ptr>=fend)
   1 if (*bas==0x80) return(0);
   1 if ( ! pitch)
   1 ibm convBo
   1 iR/L_ALF C
   1 i@Iyh`k@Iy
   1 i,nab;"                ";:
   1 i,ab1;"               ";:
   1 h~Next page~ Previous page~ Options
   1 htatic de,hl;
   1 he wrong file, find another header
   1 hboot41  B
   1 h$="                              ":
   1 goto needs a label
   1 getblock(b_ptr,sec,trk,BUFSIZE/256);
   1 generated code area is full
   1 gSGR     B
   1 gBOOT    Bg
   1 g*gi^+V!eiF#N!
   1 ft=duration*pitch/10;
   1 fromdr=picb
   1 fromdr=pica:
   1 fp=0;fp+=chan;
   1 fp=0; fp+=chan;
   1 format disc";
   1 for(pitch=4630;++pitch;);
   1 for(ft=0;ft<duration;++ft)
   1 for (p=list+i*size-byte_gap;p>=list;p-=byte_gap)
   1 for (p=list+i*size-by
   1 for (i=0;i<14;{=\
   1 for (i=0;i<14;i+{=\
   1 for (i=0;i<14;i++{=\
   1 for (i=0;i<14;i++
   1 for (i=0;i<14;i+
   1 for (i=0;i<14;
   1 fnum=prbeg+cur;
   1 fnum=0; filn=MAXFILN
   1 fnum=0; filn=40;
   1 fil=fa-fd:
   1 fend=getbuff(b_ptr,o_ptr,nsec);
   1 fcur=fcur-1
   1 fcur=fcur+1
   1 fcur1=fcur1-
   1 fcur1=fcur1+
   1 f33ff00ff99ff@@DD33ff00ff99ff@@DD33ff00ff99ff@@DD`L`L`L
   1 f-(s+mx)<mx
   1 f(prbeg0>filn0-(DEPT-1))
   1 expecting a primary here
   1 esrd     C`
   1 eser.cod C
   1 escp.cod C
   1 error=error+1
   1 english font
   1 eDDP     B
   1 e$=n$(ent)
   1 e$="b:"+z$(1
   1 e$="b:"+w$(i,1
   1 e$="a:"+z$(1
   1 e$="a:"+w$(i,1
   1 e$="              ":
   1 duplicate declaration of structure tag
   1 duplicate declaration - type mismatch
   1 duplicate declaration - storage class mismatch
   1 duplicate declaration
   1 dsgr.cod C
   1 drive=pica:
   1 drive=pica
   1 dl        
   1 direct execution not possible when translating
   1 demo      
   1 define  include diagnostlist    direct  error   translat
   1 dc        
   1 db        
   1 curup(i,_ptr)
   1 curf=bcde:
   1 curdown(i,_ptr)
   1 copyright();
   1 copy from ";
   1 cod=ink+8*pap+64*bri+128*fla;
   1 cnt=b_ptr;
   1 cls(); at(0,0); over(0);
   1 char buff[BUFSIZE];
   1 char *gets
   1 char *fp, *cnt;
   1 char *bas,*fp;
   1 char *b_ptr; int fend;
   1 char *b_ptr;
   1 char *b_ptr,l;
   1 char *b_ptr,*l_ptr;
   1 char *b; int end;
   1 change disk
   1 ccss{{ooggcc
   1 case DOWN :curdown(1,CAT);
   1 cannot use this operator with float arguments
   1 cannot open file
   1 can only define identifiers as macros
   1 can only call functions
   1 c1        
   1 c       CP
   1 by A.Torres & S.Khalatow
   1 bufr=bufb+
   1 bright(1);ink(3);paper(0);
   1 boot      c hisoft  RENUM     SC-100    SC-120    sc4       SUPER C   SUPER1    B
   1 boot      1         COPY86M   1         Service   1         ddcopy    1         amcopier  1         pgm12     1         ANS PROM  1         EPPROM-1  1         EPPROM-2  1         EPPROM-3  1         doctor    1         doctor2   1         testprog  1         pascal d  1         AMI       1         MONIT16K  1         DIS+EDIT  1         ASSM+MON  1         MEGBASIC  1         BETBASIC  1         LASER     1         SPRITGEN  1         PLATA.V3  1         TV gener  1         TT        1         OMNICOPY  1         N.F.COPY  1         U.D.G.    1         RAMDOS    1         srtty89   1         R/WR.     1         Dis+Edit  1         lisp      1         cc        1         TFCOPY 2  1         mikro     1         tlw2      1         TOOLKIT   1         russ      1         dnb.dr    1         trld      1         dm        1         ARTIST-2  2         boot1     2         SPR.EDIT  2         PRODOS    2         DISKGENS  2         DBASER    2         BIORITM   2         boot      2         dv-25/50  2         Su
   1 boot      1         COPY86M   1         Service   1         ddcopy    1         amcopier  1         pgm12     1         ANS PROM  1         EPPROM-1  1         EPPROM-2  1         EPPROM-3  1         doctor    1         doctor2   1    
   1 boot                c hisoft            RENUM               SC-100              SC-120              sc4                 SUPER C             SUPER1              B/MAGIC             DISBASIC            MEGBASIC            PASCAL              BETBASIC            PASCAL-5            srtty89             CLOSE               LASER               SPRITGEN            PROLOG              PRODOS              BASIC 64            Catalog             KAT D               OPEN                STUD128             studio1             TFCOP128            PR.BANK             M.STU128            ms2                 PR.INSTR            RAMDISK             NORT 128            SPECH128            SERVICE             COPY 128                                                                                                                                                                                                                                                                                                                          
   1 boot                c hisoft            RENUM               SC-100              SC-120              sc4                 SUPER C             SUPER1              B/MAGIC             DISBASIC            MEGBASIC            PASCAL         
   1 bcde=prcurb+prbegb-
   1 bcde=prcur+prbeg-
   1 bcde=nrun:
   1 bc=(dy<<8)+dx;
   1 bas=b_ptr;
   1 bad type combination
   1 bad operand type
   1 bad function return type
   1 bad formal parameter list
   1 bad declarator
   1 bad declaration
   1 bad character constant
   1 b_ptr= buff;
   1 bSER     B
   1 bSCP     B)
   1 b<end) return(-1);
   1 areutilised.)":
   1 are utilised.)":
   1 ar _title [8];
   1 acompressC`m
   1 abwgdevzijklmnoprstufhc~{}
   1 aSCRCOMP#B
   1 aAT3.0   B;
   1 a;"HELLO!!!":
   1 a$="secread":
   1 a$="                  ":
   1 a$(i,j);" - should be ";j-1
   1 `L`L`L`L`L`L`L
   1 _square2(x,y,dx,dy)
   1 _square(x,y,dx,dy)
   1 _setover(on);
   1 _ptr->_size;
   1 _plot(x,y)
   1 _pline(x,y,dx,dy)
   1 _line(dx,dy);
   1 _line(dx,dy)
   1 _fun(mode)
   1 _colour(h,i) {
   1 _colour(h,i)
   1 _beep(ft,cast(unsigned)43750/pitch-30);}}
   1 ___enlarget__disk_name
   1 ___________init_printer
   1 _____________________*/
   1 __________";
   1 _____NLQ___disk_name
   1 _WGWWGWWGWWGWWGWW
   1 ^#V#N#F#~<#(
   1 \32\70\64\47\161\143\140\147\174\151\147\174\147\143",43);
   1 \32\70\64\47\161\143\140\143\174\143\141\174\142\146",43);
   1 \30\26\37\24\25qq\23\8qq\20\35\24\11qqq\32\3\4\1\1q
   1 [du1     C
   1 [RUSALF  C
   1 [DU      Bp
   1 ZX-Commander   V1.3    KIEV'90 
   1 ZX INTERFACE 1 ATTACHED
   1 Yred     C0u
   1 YREADERI B
   1 YES     C`
   1 YCTD     B
   1 Xrendisc C`
   1 XX0``lhphl
   1 X/Q/S/R/I/C/N/D
   1 WRENDISC B!
   1 WInvalid extension file
   1 WGWGWWGWWGWWGWW_WWGWWGWWGWWGWWGWW
   1 WAT3     B
   1 W E L C O M E  in  B O O T
   1 Vmsfont  C@
   1 Vladimir Fedorow   
   1 Versiq  105rt
   1 Version 2.0
   1 Verify Error
   1 VV``VVllVVrrVV
   1 VVEDITE KODY OBRAZCA:
   1 VVEDITE KOD: 
   1 UbootAA  BX
   1 Type y to run: 
   1 Title: RECLY   
   1 Text end = 
   1 Tdos1.h  #
   1 T]++++DM"n
   1 TR_DOS Commander
   1 TR_DOS  Commander  V 2.0
   1 TR-DOS ver.5.01
   1 THE MICRODRIVE VERSION
   1 THE DISC VERSION
   1 THANX TO THOMPSON FOR MUSICS
   1 TE (ENTER)
   1 Syntax Error
   1 Stream Don't Open
   1 Stream Don't
   1 Starting address:
   1 Start for Reader
   1 Sound     
   1 Selection           
   1 Sdos.h   #
   1 SUPERscrCP
   1 SUPERSOFT SYSTEMS  
   1 SUPER2C C@
   1 START>65360
   1 START=32855
   1 START<32855
   1 START,LENGTH
   1 START+LENGTH>65367
   1 SPT/GEN    P
   1 SPEECH OB!
   1 SPECTRUM COMPILER
   1 SPEAK1    
   1 SP        
   1 SOUND SINT
   1 SOOB\ENIQt
   1 SOFTWARE CLOCK/ZX User Club(1/2 1984, str. 27)
   1 SMURF'S SHIT HAS  WRITTEN BY HACKER CHRIS 1987*12*27 TIME: 18:12:20 IN SKIERNIEWICE IN POLAND! TEL. 44-23
   1 SGR1","SGR"
   1 SER1","SER"
   1 SCod120MBc
   1 SCod120#B_
   1 SCREEN COMPRESSOR
   1 SCP1","SCP"
   1 SC51-100BU
   1 SAY       
   1 SAVE*""m"";1;
   1 SAVE'";C$(
   1 SAVE to RANDOMISE...":
   1 SAVE '";C$(
   1 Rprbr    #
   1 Reload from DRIVE A or B  ?
   1 Record Overflov
   1 Reader&Mons4M!!!
   1 RUTINA ZA SNIMANJE MASINCA
   1 RUTINA ZA GOVOR
   1 RSTUFHC^[]_YX\@QeE
   1 ROUTINE NO:/ ENTER TO SCROLL 
   1 ROUTINE NO: ?  
   1 RIPPLE RIGHT-SCROLLN
   1 RESTRICTION: use assignment or move() to initialise automatics
   1 RESTRICTION: macros may not have parameters
   1 RESTRICTION: cannot nest includes
   1 RESTRICTION: can't manage initializers yet
   1 RESTRICTION: Floating Point not implemented
   1 RESTRICTION : floats not implemented
   1 RAZBLOKIROVANO Y
   1 RANDOMIZE USR63950
   1 RANDOMIZE USR 3190
   1 RAND USR 58444
   1 RAM TEST  
   1 RAM SIZE: 48K"''"PROGRAM LOADED FROM TAPE    ":
   1 RAM SIZE: 48K"''"PROGRAM LOADED FROM CASSETTE
   1 R"ji:li=2li
   1 Quit program
   1 Qprf     #
   1 Press a key to turn the page
   1 Press S to SAVE, Q to QUIT
   1 Press Q  to QUIT
   1 Pprct    #
   1 Pomoxu ovog programa moyete me  nauxiti da prixam.  
   1 Please wait-only 50 seconds left
   1 Pirate V.06
   1 Pirate    
   1 PRITISNI BILO KOJU TIPKU !
   1 PRESS THE APPROPRIATE KEY
   1 PRESS ANY KEY TO CONTINUE
   1 POISK OBRAZCA
   1 PIXEL UP-SCROLLN
   1 PCSPIYIXHLDEBCAFSZ H VNC
   1 PART2   C@
   1 PART TWO -  50 ROUTINES
   1 PAINTPLUS 4
   1 P+        L
   1 Out Of Memory
   1 Oupdn    #
   1 OK. END OF SCROLL. SEE YA NEXT MUNF! R.WIOSNA. $
   1 Nrl      #
   1 Nowcur,prbegb:
   1 Nowcur,prbeg:
   1 Nomer Distributiva-Y
   1 NOMER TREKA?Y
   1 Mmicopyrt#
   1 MRT 100000
   1 MONS3M2 Debugger 
   1 MIRAGE TWO
   1 MIMNNRMNMRMNMRMNM
   1 MICRODRIVE
   1 MCODER2 Bj
   1 Lmycopyrt#
   1 Lazy Jones                    Video Pool                    Jet Pac                       Shess                         Betch Head 1                  Equinox                       Smurf 1                       Smurf 2                       Big Shit 6                    Atic Atac                     Island of d-r Destructo       Bioritmes                     Motos                         Gladiator                     Trapdoor                      Frost Bytes                   Gun Frigt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   1 LSD 4.5   ,
   1 LSD 4.5   
   1 LLNNOOTTAABBDDLL
   1 LLLLLLLLLLKLLKKJKKKKIIKLLLLLKKLLLKLLLKLLLKLKKKJKLKKJLLIJLLLJLLKLLLLLLLLLLLJLLJJLKLKJJLKLLLKKKLLLLLLJLLKLLKJLJIKLLLJKKJJKLLKKKKLK
   1 LKKJLLLLKLJJKKJJJJJKJLKLLIKJLLJJJJKJJLKKLJKKKJKJKIJIIJILJKLKJKLKLKJLLLLILJLLJIKIJKJIIIKLLLLLJKKKKKKLKKILJLKKJKKJJIJJKJJLLJLKKLK
   1 LIMIT: no more memory
   1 LIMIT : too much global data
   1 LIMIT : too many types
   1 LIMIT : too many case statements
   1 LIMIT : name table full
   1 LIMIT : local symbol table full
   1 LIMIT : global symbol table full
   1 LIMIT : expression too complicated - too many operators
   1 LIMIT : expression too complicated - too many arguments
   1 LILA      
   1 LIKE AN EXAMPLE - Y/N ?
   1 LET'S CHANGE THEME. HAVE YOU HEARD PINK FLOYD'S 'A MOMENTARY LAPSE OF REASON'? THAT'S VERY GOOD CD. BY THE WAY, IF YOU HAVE ANY LP OF PINK FLOYD, CONTACT ME AT GRZYBOWSKA STREET EVERY SATURDAY 2.00PM-7.00PM. I AM INTO PINK FLOYD. 
   1 LENGTH=32512
   1 LENGTH+START>65367
   1 LEFT,RIGHT
   1 LAZY                          VIDEO                         JET PAC                       shess                         BETCH                         EQUINOX                       SMURF 1                       SMURF 2                       BIG 6                         ATIC                          DES                           BIORITM                       MOTOS                         GLAD                          TRAPDOOR                      FROST                         GUN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
   1 LAST=LAST+B+1
   1 LAST=28650
   1 L3L3@@L3L3@@3
   1 L);"'CODE";A;",";B
   1 L);"'CODE ";A;",";B
   1 Kkscopyrt#
   1 Kiev ph.:2766746 
   1 KOJU POZIVA BASIC
   1 K LOADER I WILL SEND YA FOR 55 YEARS OF TOWER FOR SOFTWARE PIRACY! I DON'T LIE! HAVE A NICE DIE, YOU BASTARD! 
   1 Jtr_d    #
   1 J,H;"Routine Length is ";B;" bytes":
   1 J,H;"Routine Length is ";B;" bytes
   1 Input Routine Number, or 'I'  if you want the index again.    Enter 'D' for a demonstration.  The first 50 Routines are avail-able on SUPERCODE PART 1. They  include a comprehensive series  of scrolls,screen window effectsattributes manipulation, sound  effects,screen storage,ripple & shutter effects, etc etc etc...
   1 Information
   1 If this is OK, press enter.If itis not, enter the new name (notethat only the first ten 
   1 If this is OK, press enter.If itis not, enter the new name (notethat only the first 8  
   1 Idump.l  #
   1 IQJOIQJOIQJOIHFEIQJOIOHJIHJFIEHFIQJOIQJOIEHFIFHF
   1 INTRODUCTION
   1 INSERT  Spectrum  discINSERT  IBM  disc
   1 INFORMATION
   1 INDEX - PAGE ";(Z-1
   1 IMIMHHGHGHGHGLH
   1 IMGHGHGHGLH
   1 I N D E X   (CONT)
   1 Hl1      #
   1 Help Prog:
   1 HISOFT-C Compiler  V1.1
   1 HIRES SCROLL-UP
   1 HIGH  SCORES
   1 Gl       #
   1 GWWGWW_WWGWWGWWGWWGWWGWWGWGWWGWWGWWGW_G_WGWWGWW
   1 GWWGWWGWWGW_GWWGWWGWWGWWGWWGWW
   1 GWWGWWGWWGWWGWWGWWGG
   1 GWWGWWGWWGW
   1 GWWGWWGWGWWGWWG
   1 GREAT SHIT
   1 GMLMGHIMIMIMH
   1 GMGMLMCMCQC
   1 GEEDDCACED
   1 G- HARD BOY MIXED -
   1 Function            
   1 File Not Found
   1 File Exists
   1 Fcopyrt  #
   1 FONGEN1   
   1 FIRST=28350
   1 F#N#^#~#fo
   1 Enter new address:~~~
   1 Enter mask:~~~~~~~~~
   1 End Header         */
   1 Ecrupdn  #
   1 ESTX  IZMENENIQY
   1 ERROR - 27 - undefined symbol 
   1 ENTER NAME
   1 ELECTRONIC
   1 Dprcat   #
   1 Disk Error
   1 Disc:            fil    free
   1 Disc Error#9
   1 Disc Drive (a,b) ?
   1 Destination of an assignment must be an lvalue
   1 DUG 070000
   1 DISC:Change 
   1 DEFMAC  ("IM*",_SZTO2)
   1 DEFMAC  ("EI")
   1 DEFMAC  ("DI")
   1 DDDGFBDDBDGGFADDEEEEEFEFGGFFFFFFBBBBBBGGFFEEFDEEEAAAAAAAAAAAAAAGGDEGGGGGGGGFGDFEFDEG
   1 DDCAKACDEGH
   1 DCLCDMDLGHGLG
   1 DB 4EH + #0<<3
   1 Cursor    movement
   1 Copyright 
   1 Clear address:
   1 Cinit    #
   1 Change drive
   1 Change disk
   1 Cannot initialise this (disallowed type)
   1 Cannot initialise this (disallowed storage class)
   1 CREATED KRAMARENKO,KIEV,t2630955
   1 CP Software Presents
   1 COPY ALL=3
   1 COPY A>A=1
   1 COPY A&B=2
   1 COPY - All
   1 COMPRESS NUMBERS
   1 CLOCK   B>
   1 CHR DEMO  $
   1 CANY      L
   1 CACACACACDEDCDEDC
   1 C=LAST-FIRST:
   1 C/D/E/I/N/P/Q/R/S/X
   1 Ball_d   #
   1 BLOKIROVKA VKL Y
   1 BLOCK MOVE MACHINE CODE
   1 BC,256*9+5
   1 BC+HL>65367
   1 BC+DE>65367
   1 Areload  #
   1 ARE YOU WATCHING ME deBILL GILBERT ?
   1 ANY OTHER KEY TO START
   1 ANY OTHER KEY TO RESTART 
   1 ANY OTHER KEY TO GO ON
   1 ANY OTHER KEY 
   1 ALP 050000
   1 ALEX DISC MANAGER V 1.1
   1 AHA!  NEVER USE POLISH LANGUAGE IN DEMOS! NIGDY! NIKAGDA! 
   1 AC  ("HALT")
   1 A:tr_d    <#> 16:kscopyrt<#> 16
   1 A:std.l   <#> 16:std.l   <#> 16
   1 A:st.l    <#> 16:sgraph.l<#> 16
   1 A:so1     <C> 27:so2     <C> 25
   1 A:scp.cod <C>  1:ser.cod <C>  1
   1 A:rl      <#> 16:updn    <#> 16
   1 A:ramcheck<B>  4:MIRAGE 2<B>  2
   1 A:prct    <#> 16:prf     <#> 16
   1 A:prcat   <#> 16:crupdn  <#> 16
   1 A:prbr    <#> 16:dos.h   <#> 16
   1 A:organize<B> 46:ORGANIN
   1 A:org     <C>  9:SPEECH O<B>  9
   1 A:mycopyrt<#> 16:micopyrt<#> 16
   1 A:msfont  <C>  4:AT3     <B> 15
   1 A:mirage  <C> 66:ORGAN   <B> 46
   1 A:lh      <C> 24:ZAGL    <B>  5
   1 A:l1      <#> 16:dump.l  <#> 16
   1 A:fun     <#> 16:reload  <#> 16
   1 A:dump.h  <#> 16:main    <#> 16
   1 A:du1     <C> 92:RUSALF  <C>  3
   1 A:dosold.l<#> 16:dosold.h<#> 16
   1 A:dos1.h  <#> 16:bootAA  <B> 24
   1 A:copyrt  <#> 16:l       <#> 16
   1 A:cc64    <B>  3:std.h   <#> 16
   1 A:c       <B>  2:C scr   <C> 10
   1 A:bootdm  <B> 55:DM      <C>  3
   1 A:boot41  <B> 41:R/L_ALF <C>  3
   1 A:all_d   <#> 16:init    <#> 16
   1 A:TM      <C> 14:DISKTEST<B>  5
   1 A:TIME    <B>  5:LastHope<B>  2
   1 A:SUPER2C <C> 35:SUPER2B <B>123
   1 A:SUPER 1 <B>128:SUPER 2 <C> 32
   1 A:SGR     <B> 17:BOOT    <B> 19
   1 A:SER     <B> 25:sgr.cod <C>  1
   1 A:SCode100<B>  2:SUPERscr<C> 27
   1 A:SCod120M<B>  2:SC1     <C> 27
   1 A:SCod120#<B>  2:SUPER2sc<C> 27
   1 A:SCRCOMP#<B>  7:compress<C>  3
   1 A:SC51-100<B>  2:PARTSCRN<C> 27
   1 A:SC2     <C> 35:SC3     <B>125
   1 A:RENDISC <B>  5:rendisc <C>  1
   1 A:READERI <B>  5:DU      <B>  1
   1 A:RAMTEST <B>  3:Tapemenu<B>  3
   1 A:PART2.0 <B>100:PART2   <C> 32
   1 A:MICRO   <C>  6:cc      <B>  2
   1 A:MCODER2 <B>  4:mcoder2 <C> 21
   1 A:HisoftPr<C>  1:c64     <B>  2
   1 A:Flist1  <C>  2:boot1   <B> 45
   1 A:Dboot   <B>  1:boot    <C> 18
   1 A:DDP     <B> 19:srd     <C>  1
   1 A:Cyrillic<C>  3:BOOTpgrm<B> 30
   1 A:Copy 4  <B>  5:Rendisc <C>  1
   1 A:CTD     <B>  6:red     <C> 27
   1 A:CC      <C>100:C DISK  <C>  4
   1 A:AT3.0   <B>  5:SCP     <B> 26
   1 A:1       <B>  6:cat     <#> 16Y
   1 A/C/D/E/I/J/L/M/N/P/Q/R/S/T":
   1 A/C/D/E/I/J/L/M/N/P/Q/R/S/T
   1 A,B,C,D,E or F
   1 A,B,C or D ??
   1 A$="Za probu napiqite neku rexenicu i ja xu je rexi.  "
   1 A$="Puno srexe u programiranju."
   1 A$="Program se koristi vrlo lako.   Pozivanje rutine na liniji 9900 uzrokuje da kayem rexenicu koju pamtim kao A$.     "
   1 A$="Pomoxu ovog programa moyete me  nauxiti da prixam.  "
   1 A$="Brzinu govora moyete mjenjati ":
   1 @fun     #
   1 @(@(@-@-@-@-@+@+@+@+
   1 ?main    #
   1 >dump.h  #
   1 >_size-=nbytes;
   1 >-TR-DOS & LIST"
   1 >-SET PROGRAM"
   1 >-RESTART(page1-page3)"
   1 >-RENAME PROGRAM"
   1 >-LOAD PROGRAM"
   1 >-LOAD & RUN PROGRAM"
   1 >-FORMAT + SAVE 'boot'"
   1 >-EXIT TO TR-DOS"
   1 >-EXIT TO BASIC"
   1 >-ERASE PROGRAM"
   1 >-COPY PROGRAM"
   1 >-CHANGE DISC B"
   1 >-CHANGE DISC A"
   1 >*T4*4*T4>*T4*4*T**
   1 =y;i>y-7;i--)
   1 =getchar())
   1 =dosold.h#
   1 =2li*jiDM!Gk
   1 <dosold.l#
   1 ;sgraph.l#
   1 ;n$;"  ";w$;"   Erasing":
   1 ;n$;"  ";w$;"    Copy":
   1 ;n$(g(j));" ERASED":
   1 ;a$;b$;c$;d$
   1 ;"wkl.magnitofon!":
   1 ;"top left hand corner of the box"
   1 ;"tip bloka:";
   1 ;"s.sh+T> target "
   1 ;"im_bloka:""";:
   1 ;"enter > RUN"
   1 ;"cursor> select"
   1 ;"ctop magnitofon!"
   1 ;"cleduqvi' blok?(Y/N)":
   1 ;"__________
   1 ;"You can scroll attributes too   by using this routine & then    No: 37 - 40, after defining an  appropriate box & setting the   Attr Value to 63."
   1 ;"Written by Lazarev K.";
   1 ;"Write sector, sure? (Y/N)";:
   1 ;"WRONG PARAMETERS":
   1 ;"WRAP-AROUND POKE ";A+16
   1 ;"WRAP-AROUND POKE ";
   1 ;"WRAP AROUND  POKE ";A+13
   1 ;"Verify Disk"
   1 ;"VERIFYING..":
   1 ;"VERIFY? (y/n)":
   1 ;"Title:";
   1 ;"This routine simulates a power- off: ie, it not only does NEW   but also CLEARs RAMTOP to its   original value, clears the      entire memory & resets UDGs &   System VARs.":
   1 ;"The free space F from the last  Variable to RAMTOP is printed.  By the way, you can use POKE    23637,203:POKE 23638,92:SAVE    'Name'CODE 23552,RAMTOP-23550-F to save your program disguised  as code - it will autostart at  the first line.";
   1 ;"Technology Research";':
   1 ;"TAPE/DISC:(T/D)":
   1 ;"TAPE/DISC:(T/D) ";:
   1 ;"T - DISK OPERATIONS"
   1 ;"Start for Mons-RND USR 58444"
   1 ;"Side ";s;" track ";t;" "
   1 ;"SUPERSOFT  
   1 ;"SUPERERASE"
   1 ;"SUPERCOPY"
   1 ;"STOP THE TAPE - THEN PRESS A KEY":
   1 ;"START ADDR OF SPEECH DATA:";START
   1 ;"SPEAKWELL"
   1 ;"SCROLL-OFF  POKE ";A+16
   1 ;"SCROLL-OFF  POKE ";
   1 ;"SCROLL-OFF   POKE ";A+13
   1 ;"S - CHANGE SPEED"
   1 ;"Routine in ROM":
   1 ;"Rename disc";
   1 ;"Reader&Mons4M"
   1 ;"Read sector, sure? (Y/N) ";:
   1 ;"REWIND TO VERIFY":
   1 ;"RECORDING"
   1 ;"RECORD/PLAY SPEED:";SPEED;"   "
   1 ;"RAM memory is faulty."
   1 ;"RAM Check"
   1 ;"R - RECORD SPEECH"
   1 ;"Press key to return":
   1 ;"Press any key to start testing..":
   1 ;"Press any key to clear"
   1 ;"Please wait"
   1 ;"PRINT AT co-ordinates of the";
   1 ;"PRESS ANY KEY TO START RECORDING":
   1 ;"POKE 64884, Overall Paper Col"
   1 ;"POKE 64859, Overall Ink Colour"
   1 ;"POKE 64829, Character Code      POKE 64831, Box height          POKE 64834, Box Width           POKE 64832 & POKE 64835 with    the PRINT AT co-ordinates for   the top-left hand corner of     the box."
   1 ;"POKE 64682, Duration            POKE 64693, Frequency 1         POKE 64702, Frequency 2"
   1 ;"POKE 64648, Frequency           POKE 64649, Span                POKE 64651, Duration            POKE 64670, 28(UP) or 29(DOWN)"
   1 ;"POKE 63011, Pitch Decrement     POKE 63012, Number of notes     POKE 63014 & 63015, Pitch            (less/more sig)            POKE 63017 & 63018, Duration         in ms (less/more sig)"
   1 ;"POKE 63001 & 63002 with the     Pitch value (less/more sig)     POKE 63004 & 63005 with the     Duration in ms (less/more sig)"
   1 ;"POKE ";A+7
   1 ;"POKE ";A+6
   1 ;"POKE ";A+4
   1 ;"POKE ";A+1
   1 ;"P - PLAY BACK SPEECH"
   1 ;"O'KEY!!!":
   1 ;"No GOSUBs or GOTOs are changed- use #60 if you need that done.  If L is the first Line to be    renumbered, & I the Interval    POKE 64711, I - 256*INT(I/256)  POKE 64712, INT(I/256)          POKE 64714, L - 256*INT(L/256)  POKE 64715, INT(L/256)":
   1 ;"NUMBER TOO BIG":
   1 ;"NUMBER TO START (0-RESTART):";an
   1 ;"NEW""A:        "",""A:";
   1 ;"NEW DISKNAME ?";:
   1 ;"M - MEMORY MANAGER"''
   1 ;"LOADING...":
   1 ;"LOADING 
   1 ;"L - LOAD   S - SAVE   R - RETURN":
   1 ;"L - CHANGE LENGTH"
   1 ;"Kiev 1990"
   1 ;"K  HACTO
   1 ;"Insert disk then press key"
   1 ;"INVERSE SCRL POKE ";A+13
   1 ;"INVALID SPEED":
   1 ;"INVALID NUMBER":
   1 ;"INVALID NAME":
   1 ;"INVALID LENGTH":
   1 ;"INVALID FILE NAME":
   1 ;"INVALID DESTINATION ADDRESS":
   1 ;"INVALID COPY ADDRESS":
   1 ;"INVALID ADDRESS":
   1 ;"INTRODUCTION":
   1 ;"GAMERUNER"
   1 ;"FREE MEMORY: ";
   1 ;"FORMAT """;
   1 ;"FILE ";r$;" NOT FOUND !"
   1 ;"F.VACHHA   V.RUMSEY":
   1 ;"Error = ";error
   1 ;"ERROR IN ";A
   1 ;"Display Sector ":
   1 ;"Display Sector "
   1 ;"Disc name";
   1 ;"Disc Doctor program"'':
   1 ;"COMPILER NOW LOADING"
   1 ;"BLOCK LENGTH: ";B:
   1 ;"A or B ?"
   1 ;"A Laser Zap routine can also be called,using 
   1 ;"A - ALTER START ADDR"
   1 ;":   ";a$(3
   1 ;"1.Driv 2.All 3.List 4.Ren 5.Copy6.Ren  7.Del 8.Quit 0.Format ";
   1 ;"---------"
   1 ;", X - 256*INT(X/256)"'" POKE ";A+2
   1 ;", New Attribute Val";
   1 ;", INT(X/256)":
   1 ;", Box width";
   1 ;", Box height"
   1 ;"*FDD Test**By RA3AO*"
   1 ;"(max. 10 character)"
   1 ;" to cancel --> type < s.sh+A > "
   1 ;" config.sys  not  present "
   1 ;" SUPERERASE"
   1 ;" SUPERCOPY "
   1 ;" GAMERUNNER"
   1 ;" File(s)"
   1 ;" Aleks ~MERCURY~ Torres 
   1 ;" 7- NEW(b) 8- NEW(c) 9- MOVE  ->"
   1 ;" 4-COPY(b) 5-COPY(c) 6-DISCOPY->"
   1 ;" 0-CAT 1-RUN 2-LIST 3-PRINT sp->"
   1 ;" & POKE ";A+3
   1 ;" & Aleks~MERCURY~Torres ";':
   1 ;"  VR/& BOOTER B "
   1 ;"  VERIFY  ":
   1 ;"  If you have noted important   details ( address, length,"
   1 ;"  Change disc,press any key    ":
   1 ;"   Technology Research  ";':
   1 ;"   Disc Doctor program  "'':
   1 ;"    ";b$;"          ";c$
   1 ;"      presents    A T 3.0      "
   1 ;"        Insert new disc         ":
   1 ;"         "
   1 ;"               ";
   1 ;"               ":
   1 ;"               "
   1 ;"                          "
   1 ;"                             "
   1 ;"                                "
   1 ;"                                    ERASE WITH MOVE ? (Y)       ":
   1 ;"            
   1 ; int end;
   1 ;              "       
   1 ;                          " E-ERASE(b)D-ERASE(c) F-FORMAT->"
   1 ;                          "
   1 :st.l    #
   1 :li2qi*ji"oi:ii
   1 9std.l   #
   1 8std.l   #
   1 8A@CBD$#!" x
   1 7std.h   #
   1 7cc64    B
   1 7cc      B
   1 7MICRO   CF
   1 64508,1000
   1 60017,dsk:
   1 59990,5375
   1 59232,6304     
   1 5 NEW KEYS
   1 4j%%Tj***j*Tj*
   1 474-23-67 Kiev
   1 4 CURSOR  
   1 32768,25600
   1 3 SINCLAIR
   1 2ii:li<2li*ji
   1 22 File(s)C
   1 2 KEMPSTON
   1 1991y. Dm.Tsimlyakov 
   1 129 File(s)
   1 110274RA181274DA042893AD553793PA
   1 11,16;"s.sh+T> target "
   1 10      D\g
   1 1 KEYBOARD
   1 1       DVg
   1 0xed,0x5b,&de,
   1 0xed,0x4b,&bc,
   1 0xdd,0xe1);}
   1 0xdd,0x4e,6,
   1 0xcd,0x3b5,
   1 0xcd,0x24ba);}
   1 0xcd,0x22e5);}
   1 0c       B2
   1 0CC      Cpb
   1 0C scr   Cv
   1 0C DISK  C
   1 00990099@@99D
   1 0+++++++++++++++++++
   1 0++++++++++
   1 0"'"Turn Page: Use ENTER or Jump"'"Menu:";:
   1 0"'"Turn Page-ENTER /Jump"'"Menu:";:
   1 0 Del. FileD
   1 0 Del. File
   1 /g}/o#:#w<2#w
   1 /c64     B\
   1 /O*%O*%J/%O
   1 /*Without Sound */
   1 /*Without Long,Graph,Sound */
   1 /*Without Long,Graph    */
   1 /*Disk library,Without Long*/
   1 /*==!=++--&&||<=<<>=>>->
   1 /*****FOR METODINFORM****/
   1 /*****FOR KAPITANSOFT****/
   1 /*****FOR ALEX KRUPP*****/
   1 /* Standard Function Library */
   1 /* Sound & Graphics  Library */
   1 /* PUT BLOCK  TO  DISK */
   1 /* HEADER FOR 1 CATALOG */
   1 /* GET BLOCK FROM DISK */
   1 /* DUMP HEADER +std+dos */
   1 /*    Disk library      */
   1 /*     End Header       */
   1 /*       Disk library      */
   1 /*        6
   1 /*        
   1 / INDEX/ CUSTOMISE"'"Restart-
   1 .PON3LKONMLKJ
   1 . For ways to relocate routines, press 
   1 -select/unselect current file
   1 -select/unselect  ALL files
   1 -pic)+prcurb*pic,1
   1 -n>0 && (c=getc(fp)) !=EOF)
   1 -ZAPI$U SEKTOR
   1 -SMENA TREKA t
   1 -SEKT. NAZAD Y
   1 -Rewim TEKSTt
   1 -Rewim DAMPa :
   1 -Restore  current file      
   1 -Rename current file(drive1)
   1 -Reload catalog 
   1 -PUSK TR-DOS t
   1 -POISK OBRZCt
   1 -NA^ALO Dampt
   1 -Load program
   1 -Help page 
   1 -FORMAT->"
   1 -Erase ALL select files     
   1 -Damp VPEREDt
   1 -Damp  NAZADY
   1 -DISKCOPY ->"
   1 -Copy  ALL select files     
   1 -Change current screen    
   1 -BLOKIROVKA! t
   1 -10 files down
   1 -10 files  up 
   1 -/_*_pb+-e3d()
   1 - file down  
   1 - file  up   
   1 - SELECT -
   1 - Run current program   
   1 - MOVE  ->"
   1 - GO TO DOS  
   1 ,bri,fla) {
   1 ,START-256
   1 ,LENGTH-256
   1 ,"UNI-NOTE SOUND-GEN",5
   1 ,"UNI-BEEP SIMULATOR",15
   1 ,"SHUTTER-SCROLL RIGHT",10
   1 ,"SHUTTER-SCROLL LEFT",10
   1 ,"SCREEN STORE",1
   1 ,"SCREEN OVERPRINT",1
   1 ,"SCREEN INVERT",1
   1 ,"SCREEN FILL",1
   1 ,"SCREEN EXCHANGE",1
   1 ,"RIPPLE-SCROLL RIGHT",255
   1 ,"RIPPLE-SCROLL LEFT",255
   1 ,"PAPER CHANGE",1
   1 ,"OBLIQUE SCROLL-OFF",1625
   1 ,"MULTI-BEEP SIMULATOR",8
   1 ,"MEMORY AVAILABLE",1
   1 ,"LORES TOP 2/3 SCR-RGHT",255
   1 ,"LORES TOP 2/3 SCR-LEFT",255
   1 ,"LORES TOP 1/3 SCR-RGHT",255
   1 ,"LORES TOP 1/3 SCR-LEFT",255
   1 ,"LORES SCROLL-UP",24
   1 ,"LORES SCROLL-LEFT",33
   1 ,"LORES SCROLL RIGHT",33
   1 ,"LORES R-DIAG SCROLL",22
   1 ,"LORES MID 1/3 SCR-RGHT",255
   1 ,"LORES MID 1/3 SCR-LEFT",255
   1 ,"LORES LOW 2/3 SCR-RGHT",255
   1 ,"LORES LOW 2/3 SCR-LEFT",255
   1 ,"LORES LOW 1/3 SCR-RGHT",255
   1 ,"LORES LOW 1/3 SCR-LEFT",255
   1 ,"LORES L-DIAG SCROLL",22
   1 ,"LINE RENUMBER",1
   1 ,"INK CHANGE",1
   1 ,"HIRES SCROLL-UP",175
   1 ,"HIRES SCROLL-RIGHT",255
   1 ,"HIRES SCROLL-LEFT",255
   1 ,"HIRES SCROLL-DOWN",200
   1 ,"HIRES NW-DIAG SCROLL",176
   1 ,"FLASH ON",1
   1 ,"FLASH OFF",1
   1 ,"DUAL-NOTE SOUND-GEN",10
   1 ,"CLEAR ALL ",1
   1 ,"BRIGHT ON",1
   1 ,"BRIGHT OFF",1
   1 ,"ATTRIBUTE SCR-UP",40
   1 ,"ATTRIBUTE SCR-RIGHT",200
   1 ,"ATTRIBUTE SCR-LEFT",40
   1 ,"ATTRIBUTE SCR-DOWN",40
   1 ,"ATTRIBUTE FILL",1
   1 ,"ALL-RIGHT SCROLL",32
   1 ,"ALL-LEFT SCROLL",32
   1 +p+q+r+s"\
   1 +^+V+~+N++++"
   1 +N+F+^+Vp#q#r#s
   1 +A;", 26";
   1 ++6*+6*+6*"
   1 ++,*c++,*c++,
   1 +++++;;;;;;99999911111111111111++++++;;;;;;99999911111199999991++++++;;;9;999999999999999999911
   1 ++++++++++++++++++++++++
   1 ++++++++++++++
   1 ++++++++++
   1 *oi"ji:qi2li:ii
   1 *e\^#V*oi+r+s:qi<2qi
   1 *c++,*c++,*c++,*c++,*c++);
   1 *W\#"S\"K\6
   1 *RATCOPY*  Program System'90
   1 *ABCDEFGHIJKLMNOPQRSTUVWXYZ ?!.
   1 **m~#"*mo&
   1 ****** end ************
   1 **   install   ********
   1 *&-!~VU   
   1 *  Torres Commander   *
   1 *    Version 1.5      *
   1 )="Video Pool"
   1 )="Trapdoor"
   1 )="TRAPDOOR"
   1 )="Smurf 2"
   1 )="Smurf 1"
   1 )="SMURF 2"
   1 )="SMURF 1"
   1 )="Lazy Jones"
   1 )="Jet Pac"
   1 )="JET PAC"
   1 )="Island of d-r Destructo"
   1 )="Gun Frigt"
   1 )="Gladiator"
   1 )="Frost Bytes"
   1 )="Equinox"
   1 )="EQUINOX"
   1 )="Bioritmes"
   1 )="Big Shit 6"
   1 )="Beatch Head 1"
   1 )="BIORITM"
   1 )="Atic Atac"
   1 );"      ";a$(18
   1 ). For ways to relocate routines, press 
   1 )$$)&')&)$)#)$)#) )
   1 (n,ju+m+12
   1 (dump_typ)
   1 (HisoftPrCx
   1 (*)/ INDEX/ CUSTOMISE"'"Restart: Use
   1 '(exit).You willthen have the option of SAVEing the routine on tape,QUITting to BASIC or restarting."
   1 ''''" VERIFY RAM IS 23523 TO 65535."
   1 '''"S - start programmy 'BOOT'"'"J - wybor zagruvaemoj programmy,       zatem navatx sootw.bukwu"'"R - zapisx prime~anij"'"V - stiranie prime~anij"'"B - zapisx 'BOOT' na disk":
   1 '''"Ramcheck 
   1 ''"This program enables you to testthe RAM memory used by BASIC."
   1 ''"Clock on: RAND USR 65040":
   1 '"No errors."
   1 '"If an error message appears, useGOTO 0 to restart."'"Enter the Microdrive number, or just press Enter for the default# of 1.":
   1 '"  To access the next routine in the Index, press '
   1 '"  To access a routine whose no: you know, press '
   1 '"  If you would like to have the details of this routine again,  press '
   1 '"  If you wish to return to the  Index, press '
   1 ' (exit)You will then have the option   of SAVEing the routine on tape."
   1 &(CAT->_file[cur+prbeg]));
   1 & Sergej Khalatow
   1 %SC3     B
   1 $SC2     C@
   1 $SC1     C
   1 $10     DlgE
   1 $1      DfgE
   1 $$=? STXW<>RP|^&OQ+-*/%
   1 $$$$$$$$$$
   1 $$##""!!  
   1 #translate dump
   1 #include prcat2
   1 #include main1
   1 #include dump.h2
   1 #include crupdn1
   1 #include all_d1
   1 #include ?sgr.l?
   1 #define TOP 4
   1 #define SPACE putchar(' ');
   1 #define PG_DOS 0x3d13
   1 #define MAXFILN 128;
   1 #define MAXFILN 127;
   1 #define EXMODE mode=1-mode;
   1 #define EXCHAN
   1 #define END {inverse(1);printf("\n**********END OF FILE**********");inverse(0);}
   1 #define BUFSIZE 7680
   1 #define BOT 20
   1 ###~#fo#~#fo
   1 #"a\"c\"e\*
   1 #"a\"c\"e\
   1 "xotite kopirowat# wec# dick";"  ";"Y/N"
   1 "wwedite nomer programmy kotoruq xotite ckopirowat#"
   1 "sa POKE 65455,a  (7<a<25)":
   1 "q\25\24\2\30\26\37\24\25qq\23\8qq\34\24\5\36\25\30\37\27\36\3\34qq
   1 "q\25\24\2\30\26\37\24\25qq\23\8qq\32\60\41\70\45\60\77\2\76\67\45qq
   1 "q\25\24\2\30\26\37\24\25qq\23\8qq\20\35\24\11qqq\32\3\4\1\1q
   1 "press key for menu";:
   1 "name? ";q$:
   1 "mcoder2" 
   1 "magnitofon ili dickowod":
   1 "m=menu: ";
   1 "kolihectwo dickowodow"
   1 "insert disc & press any key"
   1 "htenie i otobrajenie parametrow  sagolowka bloka na ml"
   1 "gi:di<2di_:li
   1 "dlina bloka:";
   1 "ctart co ctroki";
   1 "config.s"
   1 "compress"
   1 "boot    "
   1 "any POKEs that are necessary to tailormake the program for your specific needs) press '
   1 "adrec nahala:";
   1 "Za kraj napiqite ~0~",,,A$
   1 "Write sector, sure? (Y/N)";:
   1 "Verify complete"
   1 "VIDESAVE"
   1 "VERIFYing"
   1 "To store this routine on a Microdrive cartridge,press 
   1 "To store this routine on a Disc,press 
   1 "To VERIFY?":
   1 "To ERASE test blocks?":
   1 "This routine has now been saved.Replay it NOW to VERIFY. If the recording is bad, you will be   automatically returned to the   SAVE option via the Error-trap  routine."
   1 "This routine has now been saved."
   1 "The SAVE is over."'"Proceeding with VERIFY.":
   1 "The SAVE is over."'" ":
   1 "The Index follows- input the no:of a routine for its description(incl all addresses & POKEs)& anoptional example.Get to know theMenu options (
   1 "The Index follows- input the no:of a routine for its description(incl all addresses & POKEs)& anoptional example.Get to know theMenu options ";:
   1 "That was the Laser Zap. Now for the Uni-Beep.":
   1 "TV Speak"
   1 "TRAPSAVE"
   1 "TO: ";END:
   1 "TIME";a,b
   1 "SUPERscr"
   1 "SUPER2sc"
   1 "SMU2SAVE"
   1 "SMU1SAVE"
   1 "SHEESAVE"
   1 "SCRCOMPD"
   1 "Q,X i Y ";:
   1 "Please replay the tape.":
   1 "POKEs necessary for tailormakingthe program to your specific    needs ) press '
   1 "PARTSCRN"
   1 "ORGANIZE"
   1 "OK,the Microdrive # is
   1 "New title? ";
   1 "New name? ";o$:
   1 "New name disc";d$
   1 "NUMBER OF BYTES TO COPY?  ";BC
   1 "NUMBER ARRAY";
   1 "NEW START ADDRESS?";START
   1 "NEW SPEED?  ";SPEED
   1 "NEW LENGTH?  ";LENGTH
   1 "NAME: ";B$:
   1 "NAME OF FILE? ";N$
   1 "NAME OF FILE?  ";N$
   1 "MOTOSAVE"
   1 "MONITEST":
   1 "MONITEST"
   1 "LOADing of block 'A'":
   1 "LENGTH OF SPEECH DATA:";LENGTH;"   ";#1
   1 "LAZYSAVE"
   1 "Kl!Elw#w#w
   1 "KORISTITE    Q,X i y."
   1 "JETPSAVE"
   1 "Insert new disk in drive then   press enter";a$
   1 "ISLASAVE"
   1 "INSERT IBM DISK & PRESS ANY KEY":
   1 "I - wyhod na programmu 'FILEMAN"'"E -'ERASE' wybrannyh programm"'" (wybor pri pomo}i 5,6,7,8,0,9)"'"F - formatirowanie diska 'A'"'"M - wyhod w 'MENU'":
   1 "How many 100-sec blocks to SAVE?":
   1 "GUNFSAVE"
   1 "GLADSAVE"
   1 "FROSSAVE"
   1 "FROM THIRD: ";ST:
   1 "F321F8FC01100136F7230B78B120F83EFDED47ED5EFBC9000000"
   1 "Enter time please: (09.46.00)"
   1 "EQUISAVE"
   1 "END ADDRESS OF SPEECH DATA:";START+LENGTH
   1 "Drive? ";
   1 "Drive is ";
   1 "Diskette name: ";
   1 "DLINA BASIKA?";C
   1 "DDE5F5C5D5E53AB2F83D32B2F8C246F83E3232B2F83AB5F8A7CE012732B5F8FE60C246F8AF32B5F83AB4F8A7CE012732B4F8FE60C246F8AF32B4F83AB3F8A7CE012732B3F8FE13C246F83E0132B3F8DD2118403AB3F8CD79F83E0ACD8CF83AB4F8CD79F83E0ACD8CF83AB5F8CD79F8211858060836052310FBE1D1C1F1DDE1C33800F5CB3FCB3FCB3FCB3FCD8CF8F1E60FCD8CF8C9DDE52A365C11800119EB6F26002929291911000106087EEEFFDD770023DD1910F5DDE1DD23C9"
   1 "D - wyhod w DOS"'"N - pereimenowanie '@' programm"'"L - LIST w 'DOS'e"'"C - kopirowanie na diskowod 'B"'" (wybor pri pomo}i 5,6,7,8,0,9)":
   1 "Cyrillic"
   1 "Criating test file.       ";
   1 "CHARACTER ARRAY";
   1 "Block's actual lenght = ";
   1 "BIORSAVE"
   1 "BIG6SAVE"
   1 "BETHSAVE"
   1 "AUTOMENU 3"
   1 "ATICSAVE"
   1 "ALARM";a1,b1
   1 "ADDRESS TO COPY TO?  ";DE
   1 "ADDRESS TO COPY FROM?  ";HL
   1 "A BIRD IN THE HAND"
   1 "??????????"
   1 "==============================="
   1 "99. wyxod w TR DOS"
   1 "98. informazi_ o programmax"
   1 "97. menq kopirowani_"
   1 "9";"Y to confirm";:
   1 "9";"RENAME DISKETE";
   1 "80 track single side"
   1 "80 track double side"
   1 "8";e$(ne,
   1 "8";"Format is absent!":
   1 "8";"COPY  FUNCTION":
   1 "7";"Title:    ";i$;
   1 "7";"New title: ";w$
   1 "7";"FORMAT  FUNCTION":
   1 "7");".";n$(b+8
   1 "7")+"."+n$(b+
   1 "65535"-LAST'"NR OF SCREENS: ";SCR
   1 "65"+picb);
   1 "65"+pica);
   1 "65"+lll);" to ? "
   1 "65"+fromdr)+":"+n$:
   1 "65"+copdr)+":"+n$:
   1 "65"+Fdr);":        """:
   1 "65"+Fdr);
   1 "65"+Fdr)+":"+i$:
   1 "60036",trk:
   1 "60035",sec:
   1 "60032",bufr-
   1 "60032",bufb-
   1 "60032",buf-
   1 "6";z$;" Sure?(Y/N)";:
   1 "6";"COPY From ";d$;" ";
   1 "5]>S29]!F
   1 "59467",error-
   1 "5";z$;" to ";:
   1 "5";z$;" Sure?(Y/N)  ";:
   1 "5";"Diskette or File(D/F)?"
   1 "5";"      Sure?(Y/N)      ";:
   1 "40 track single side"
   1 "40 track double side"
   1 "4";"Drive:";
   1 "32"+n1))=b$:
   1 "32")="           ":
   1 "32")="                     ":
   1 "28007",END-ST+
   1 "28006",ST-
   1 "28004",LAST-
   1 "27";"""";w$;:
   1 "21",cinp+r;
   1 "2");" ";x$(
   1 "17")="BREAK impossible."
   1 "17")=" Drive not ready "
   1 "17")="  LOADING error  "
   1 "17")="  File exist.    "
   1 "15";"OK":
   1 "133"*pic:
   1 "13";"Sorry !";
   1 "13";"ERROR !";
   1 "13";"DELETE":
   1 "11";f$;"     "
   1 "11";"To   ";x$(
   1 "11";"To   ";v$;" ";z$
   1 "11";"FORMATING";
   1 "10";" Sure?(Y/N)";:
   1 "10";"           "
   1 "10")="        "
   1 "1";p$;p$:
   1 "1";;"A:\";:
   1 "1";"Title:";i$;
   1 "1";"Start  : ";
   1 "1";"No files"
   1 "1";"Lenght : ";
   1 "1";"Free  :";frb
   1 "1";"Files :";fil;
   1 "1";"Delete:";fd;
   1 "1";"Blocks : "
   1 "1";"         
   1 "1";"      
   1 "1",ab;"N a m e typlan";:
   1 "********************************",,,,"*  
   1 "(0) Return to DOS"'"(1) Change Drive"'"(2) Change Sector"'"(3) Change Track"'"(4) Read sector"'"(5) Write sector"'"(6) Display sector"'"(7) Edit sector"'"(8) Change disk"'"(9) Verify whole disk"
   1 "(0) Main Menu"'"(1) 40 track single side"'"(2) 40 track double side","(3) 80 track single side"'"(4) 80 track double side"
   1 "''"Number of Routines: 
   1 "''""'"Call:
   1 " standard SINCLAIR practice of ";
   1 " W r i t t i n g    ' b o o t ' ":
   1 " To store this routine on tape, press 
   1 " To store this routine on DISC, press 
   1 " Press any other key to restart."
   1 " Compiler error messages follow"
   1 "  program use RAND USR 40000."
   1 "  ZA GLASOVE ";:
   1 "  To run a correctly compiled"
   1 "  To access the next routine in the Index, press '
   1 "  To access a routine whose no: you know, press '
   1 "  The compiler is invoked by"
   1 "  PRED VAMA JE PROGRAM SA KOJIM MOZETE DA NAUCITE VAS SPECTRUM  DA PRICA.":
   1 "  If you would like to have the details of this routine again,  press '
   1 "  If you wish to return to the  Index, press '
   1 "  If you have noted important   details ( address, length, any"
   1 "  DA BI SINTETIZOVALI GOVOR KOJIBI BIO KAO LJUDSKI , BILA BI NAMPOTREBNA 3 KANALA ZA TON. VAS   SPECTRUM POSJEDUJE SAMO JEDAN   PA JE RAZUMLJIVO DA JE GOVOR NA NJEMU U SKLADU SA MOGUCNOSTIMA."
   1 "  BOLJA RAZUMLJIVOST SE POSTIZE KAD SE SPECTRUM PRIKLJUCI NA    SPOLJASNJE POJACALO PREKO ~EAR~ UTICNICE."
   1 "   Your BASIC is compiled to"
   1 "   SPECTRUM INTEGER COMPILER"
   1 "   Return to DOS"'"   Change Drive"'"   Change Sector"'"   Change Track"'"   Read sector"'"   Write sector"'"   Display sector"'"   Edit sector"'
   1 "   Errors when the program is"
   1 "    running are given in the"
   1 "    once more ?  (y)"
   1 "    locations 40000 upwards."
   1 "    <   My kopiruem wse   >    ":
   1 "     SPECTRUM users manual."
   1 "       F O R M A T T I N G      ":
   1 "       C O P Y    A L L         ":
   1 "        RAND USR 60000."
   1 "        C O P Y I N G           ":
   1 "          ";i;"         ";j:
   1 "           M O V E           ":
   1 "           E R A S E              ":
   1 !!           GOOD LUC
   1  |TO NE SIMVOL!t
   1  yes to confirm ":
   1  y=(_scr) ? cur1 : cur0;
   1  while (1)
   1  unsigned duration,pitch;
   1  to a ZX-Microdrive, press 
   1  to a DISC, press 
   1  swops the  current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X-6911 to X use   POKE ";A+1
   1  struct _cat disk_a;
   1  struct _cat *cat_ptr;
   1  static ft;
   1  static de,bc;
   1  setscr(7,0,0,0);
   1  return(0);
   1  return i;
   1  reload(CAT);
   1  putc(y,2);
   1  putc(y,1);
   1  putc(x,2);
   1  putc(x,1);
   1  putc(i,2);
   1  putc(h,2);
   1  putc(22,2);
   1  putc(22,1);
   1  printf("Name  Typ  Lenght Start Tr S");
   1  printf(" D U M P  V 1.3 ");
   1  print_file(y++,o_ptr++));
   1  print_file( BOT +1,
   1  print_cat(prbeg,_ptr);
   1  prcat1();
   1  prcat0();
   1  prbri1(cur1,on);
   1  prbri0(cur0,on);
   1  pitch=pitch/10;
   1  paper(8);ink(5);
   1  paper(8);ink(3);bright(1);
   1  paper(1);over(1);ink(2);
   1  int catadr;
   1  inline(0xed,0x5b,&de,
   1  inline(0xdd,0x46,4,
   1  inline(0x21,&bor,0x7e
   1  if(prbeg1>filn1-(DEPT-1))
   1  if(prbeg0>filn0-(DEPT-1))
   1  if(cur<16-i) cur+=i;
   1  if(cur< DEPT -i) cur+=i;
   1  if(cur1< DEPT-i) cur1+=i;
   1  if(cur0>=i) cur0-=i;
   1  if(cur0< DEPT-i) cur0+=i;
   1  if(*bas==255)
   1  if (isprint(*cnt))
   1  if (i<0 | i>8) return -1;
   1  if (dy<0)
   1  if (dx<0)
   1  if (*cnt==6) putc(6,2);
   1  if ((*cnt==10)||(*cnt==13))
   1  if ( ! pitch)
   1  getcat(cat_ptr1);
   1  getcat(cat_ptr0);
   1  getcat(_ptr);
   1  ft=duration*pitch/10;
   1  fprintf(fp,"%4u ",*bas*256+*++bas);
   1  fprintf(1,"Help Reload Function Dump Arrows");
   1  for(i=0;i<14;i++)
   1  for (i=0;i<8;i++)
   1  for (i=0;i<5;i++)
   1  fnum1=prbeg1; cur1=0;
   1  fnum0=prbeg0; cur0=0;
   1  filn=MAXFILN
   1  filn1=MAXFILN
   1  filn0=MAXFILN
   1  dump_typ=0;
   1  cur=0; fnum=prbeg;
   1  cls(); setscr(7,1,0,0);
   1  chan=5-chan;
   1  case LEFT :curup(10,CAT);
   1  case 5:printf(" BASIC ");
   1  case 5: end=basic_dump
   1  case 4:printf(" ASCII ");
   1  case 4: end=ascii_dump
   1  case 3:printf("  DEC  ");
   1  case 3: end= dec_dump
   1  case 2:printf("DEC+ADR");
   1  case 2: end=adec_dump
   1  case 1:printf("  HEX  ");
   1  case 1: end= hex_dump
   1  case 0:printf("HEX+ADR");
   1  case 0: end=ahex_dump
   1  bright(on); over(1);
   1  bright(1);
   1  bright(0); over(0);
   1  bright(0);
   1  border(0);
   1  bc=(dy<<8)+dx;
   1  bas+=2; }
   1  at(3,3);ink(5);
   1  at(11,1);
   1  at(1+16*_scr,y+ TOP );
   1  _square2(76,156,144,15);
   1  _square2(223,156,32,15);
   1  _square2(0,156,73,15);
   1  _square2(0,11,255,143);
   1  _square2(0,0,255,175);
   1  _square(x,y,dx,dy);
   1  _square(x+2,y+2,dx-4,dy-4);
   1  _setover(1); border(1);
   1  _pline(x,y,0,dy);
   1  _line(dx,dy);
   1  _line(dx,0);
   1  _line(0,-dy);
   1  _line(-dx,0);
   1  _beep(ft,cast(unsigned)43750/pitch-30);
   1  WHY YOU HAVE NOT(!) USED VU-METER AND PRETTY CHARACTERS IN MY BRILL SCROLLER USED IN tOP 2?? HOW DARE YOU?? F**K O**! YOU WILL GET NO SCROLLERS IN FUTURE! NOW'S TIME FOR KILLING z.z.mAJOR (OR s.s.cAPTAIN FOR HIS fRIENDS). IF YOU'LL MAKE YET ANOTHER 3x
   1  VIEW BLOCKS",,"
   1  V.RUMSEY 
   1  SPACE putchar(' ');
   1  SAVE""Name""CODE ";A;",";B'" 
   1  SAVE""Name""CODE ";A;",";B
   1  SAVE COMPRESSED BLOCKS","
   1  RETURN TO TR-DOS              "
   1  PRESS ANY KEY TO TURN THE PAGE 
   1  PRESS ANY KEY FOR WRITTING BOOT"
   1  POKE 63951,Duration. To save it use SAVE 'ZAP'CODE 63950,26."
   1  PODTVERWDAETE?Y
   1  NEW NAME ? "
   1  MUSICS AND INTERESTING ZEUS TEXT. WOW! THIS SCROLLER IS FAB! I DONE THIS IN ABOUT 3.27 HOURS! NICE, ISN'T IT? 
   1  MIRAGE 2 (C) 1989 RAF. *
   1  Loading Time:  
   1  Loading Time: 
   1  Leningrad  
   1  LOAD SCREEN   ","
   1  INPUT NAME DISK A 
   1  Hisoft 1983,4
   1  HA MECTO !
   1  HA KACCET
   1  F.VACHHA 
   1  ERASE LAST BLOCK","
   1  DISKOVAQ UTILITA 
   1  D E L P H I N 
   1  COPY from A to B  -  press A    COPY from B to A  -  press B   
   1  COPY FROM B TO A - PRESS <B>   "
   1  COPY FROM A TO A - PRESS <C>    COPY FROM A TO B - PRESS <A>   
   1  COMPRESS BLOCK (";ST;") TO (";END;")","
   1  CAT= & disk_a;
   1  : does not follow a ? properly
   1  1989 ~Mercury~   *
   1  1989 QTH 
   1  1984 HISOFT
   1  1983 THRELFALL and HODGSON    Compiled OK   Program Length =  bytes   To run enter RAND USR "
   1  1982 MiCROL"
   1  1,0,3,0x21,0,0x58,0x73,
   1  0x23,0x0b,0x78,0xb1,0x20,
   1  - Press any key to continue
   1  - PRESS ANY KEY TO GO ON 
   1  *l_ptr=FALSE;
   1  *c++,*c++,*c++,*c++,
   1  *c++,*c++,*c++,*c++);
   1  *c++,*c++,*c++,
   1  *c++,*c++,*c++);
   1  *c++,*c++);
   1  (Tape)."'"Note address,length,customising POKEs(if any)etc for future ref:":
   1  (MDrve)."
   1  (DISC)."'"Note address,length,customising POKEs(if any)etc for future ref:":
   1  "%05u %03u %03u %03u %03u %03u  ",
   1  "%03u %03u %03u %03u %03u %03u   ",
   1  "%02x %02x %02x %02x %02x %02x %02x %02x ",
   1  " %04x  %02x %02x %02x %02x %02x %02x  ",
   1  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
   1   { dy= -dy; sy= -1; }
   1   { dx= -dx; sx= -1; }
   1   tel.92-80-84         *",,
   1   switch(key)
   1   putc(13,2);
   1   putc(*cnt,fp);
   1   prcat1();
   1   prbeg1+=cur1+i-(DEPT-1);
   1   prbeg0+=cur0+i-(DEPT-1);
   1   key=rawin();
   1   if(*bas>=' ')
   1   for(ft=0;ft<duration;++ft)
   1   else { prbeg0+=cur0-i;
   1   else { prbeg+=cur+i-15;
   1   edited by AXEL'
   1   cur1= DEPT-1;
   1   char _title [8
   1   case UP :
   1   case RIG  : EXMODE
   1   case LEFT : EXMODE
   1   case DOWN :
   1   bright(1);at(x+1,y-3);
   1   bas++; }
   1   at(17,y);
   1   THANX TO THOMPSON FOR MA
   1   Rewim DAMP        DESQTI^NYJ  
   1   NE NAJDEN  
   1   NAJDEN!  
   1   ** MIRAGE 2 (C) 1989 RAF. **  
   1   *",,,,"*   
   1   ""$$&&'(**+,-
   1    prfile1(y++,o_ptr++));
   1    prfile0(y++,o_ptr++));
   1    prfile(y++,o_ptr++));
   1    prcat0();
   1    prcat();
   1    prbeg1=filn1-(DEPT-1);
   1    if(prbeg>filn-15) prbeg=filn-15;
   1    if(prbeg>filn-(DEPT-1))
   1    if(*bas=='\r')
   1    fprintf(fp,"COPY");
   1    for(pitch=4630;++pitch;);
   1    dump_typ=(--dump_typ<0)
   1    dump_typ=(++dump_typ>5)
   1    cur=15; }
   1    cur0=0; }
   1    Welcome to 
   1    VNIMANIE:   t
   1    RAF 1989
   1    0xed,0x5
   1    *",,,,"*      
   1    *",,,,"*   
   1    ( HOMEP - 
   1    #define CAT cat_ptr
   1    "disa" - 58444
   1     prcat();
   1     prbeg+=cur+i-(DEPT-1);
   1     if(*bas=='\016') {
   1     fprintf(fp,"%c",*bas);
   1     cur= DEPT-1;
   1     case UP :curup(1,CAT);
   1     case 'r' :reload(CAT);a
   1     case 'r' :reload(CAT);
   1     case 'h'  :
   1     case 'f'  :function();
   1     case 'e'  :
   1     case 'H'  :
   1     case 'F'  :
   1     case 'E'  :
   1     Obavezno je potrebno u programudati instrukciju  CLEAR  59231 ito prije poziva masinca.          
   1     KOMANDY:    t
   1     ? 5:dump_typ;
   1     ? 0:dump_typ;
   1      { putc(13,2);
   1      prbeg=filn-(DEPT-1);
   1      inverse(K @
   1      ZX COMPILER  V2.0           
   1      Wstawx kopiruemyj disk       w diskowod A,a ~istyj disk w             diskowod B           "
   1      && (cnt-b_ptr<fend) )
   1       inverse(1);
   1       inverse(
   1       fprintf(fp,"%u",*bas+*++bas*256);
   1       bas+=3;
   1       bas++;
   1       *",,,,"*         tel.92-80-84         *",,,,,,"********************************"
   1        ret
   1        inline(0xcd,15616);
   1        _exit(0);
   1        E                     RPW !"#$%&'()*+,-./DDDDDDDDDD:;<=>?@LLLLLLLLLLLLLLLLLLLLLLLLLL[\]^L`LLLLLLLLLLLLLLLLLLLLLLLLLL{|}~
   1        *l_ptr=TRUE; }
   1        ";:
   1         0xed,0x5am opened
   1         0xed,0x5#
   1         0xed,0x4b,&bc,
   1         0xdd,0xe1);
   1         0xdd,0x4e,6,
   1         0xd3,0xfe); }
   1         0xcd,0x3b5,
   1         0xcd,0x24ba);
   1         0xcd,0x22e5);
   1         0x2a,&hl,
   1         ->"
   1          0x0e,6,
   1          && (*bas!=0x80) )
   1           M&D
   1           (b_ptr,&l,fend);
   1            reload(CAT);
   1            rawin();
   1            copyright();
   1             ....press any key 
   1               }
   1               END?              
   1                                Start for Mons4M
   1                                 Programma 'DISKOVAQ UTILITA' razrabotana i ottranslirovana pri pomo_i kompilqtora 'DELXFIN' Vladimirom Fedorovym, g.Leningrad, telefon 257-12-52.    Podderwka sistemy TR-DOS osu_estvlena gruppoj po programmnomu obespe`eni@ *RATKOPI* pod rukovodstvom A.Hahonova.    Podderwka russkogo alfavita osu_estvlena li`no Vladimirom Fedorovym.    Drugie programmy gruppy *RATKOPI*: SINKLER NetVer-lokalxnaq kompx@ternaq setx dlq 15 kompx@terov/skorostx 9600 bod;  TRDOS $ELL; a takwe DISKLOK-kopirov_ik diskov,za_i_ennyh ot kopirovaniq!                                 
   1                                    IS THIS CORRECT ?  -  Y/N    ":
   1                                     IS THIS CORRECT ? (Y/N)     
   1                                                                                                                                                                                                                                                                 t
   1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
   1                                                                                                                             
   1